【问题标题】:Swift String, Character Concatenation Plus AssignmentSwift 字符串、字符连接加赋值
【发布时间】:2014-10-16 20:19:05
【问题描述】:
我用 Xcode 6.1(6A1046a) 得到这个,就像我用 6.0 做的一样:
var dog:String = "Dog"
let plural:Character = "s"
let dogs:String = dog.append(plural)
游乐场报告:
游乐场执行失败:29:23:错误:无法调用
'append' 带有 'Character' 类型的参数 let dogs:String =
dog.append(复数)
为什么我不能这样做,虽然这很好:
dog.append(plural)
【问题讨论】:
标签:
string
swift
character
xcode6
【解决方案1】:
错误信息具有误导性,但问题在于
mutating func append(c: Character)
修改其接收者并返回Void(又名()又名“无”):
var dog:String = "Dog"
let plural:Character = "s"
dog.append(plural) // now dog contains the string "Dogs"
有
let dogs = dog + String(plural)
您可以改为创建一个新字符串。
备注:其实你可以赋值
let foo = dog.append(plural)
但这会将空元组() 分配给foo(这不是您想要的)。
您的代码中的错误消息是由于您无法分配 ()
到 String 变量。