我用Xcode 6.1(6A1046a)得到这个,就像我用6.0做的那样:
var dog:String = "Dog"
let plural:Character = "s"
let dogs:String = dog.append(plural)
游乐场报道:
Playground执行失败:: 29:23:错误:无法调用 'append'带有'Character'类型的参数let dogs:String = dog.append(复数)
为什么我不能这样做,虽然这很好:
dog.append(plural)
答案 0 :(得分:5)
错误消息具有误导性,但问题在于
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
变量。