如何在Swift中将字符附加到字符串?

sam*_*ron 28 string ios swift

这曾经在Xcode 6 Beta 5中工作,现在我在Beta 6中遇到了编译错误

for aCharacter : Character in aString {
    var str:String = ""
    var newStr:String = str.append(aCharacter) // ERROR
    ....
}
Run Code Online (Sandbox Code Playgroud)

错误:无法append使用参数类型调用Character

Gar*_*kin 31

更新移动目标是Swift:

Swift不再有一个+运算符,可以接受String和一个字符数组.(有一种appendContentsOf()可用于此目的的字符串方法).

现在最好的方法是Martin R在下面的评论中回答:

var newStr:String = str + String(aCharacter)
Run Code Online (Sandbox Code Playgroud)

原始答案:这在Beta 6中已更改.检查发行说明.我仍在下载它,但尝试使用:

var newStr:String = str + [aCharacter]
Run Code Online (Sandbox Code Playgroud)

  • `var newStr:String = str + String(aCharacter)`也可以. (8认同)

bas*_*nce 11

这也有效

var newStr:String = str + String(aCharacter)
Run Code Online (Sandbox Code Playgroud)


Mik*_*ler 5

append append(c: Character)是正确的方法,但是您的代码还有另外两个问题。

首先是要遍历字符串的字符,您必须访问该String.characters属性。

第二个是append方法不会返回任何内容,因此您应该删除newStr。

代码如下所示:

for aCharacter : Character in aString.characters {
    var str:String = ""
    str.append(aCharacter)
    // ... do other stuff
}
Run Code Online (Sandbox Code Playgroud)


hen*_*nes 5

另一个可能的选择是

var s: String = ""
var c: Character = "c"
s += "\(c)"
Run Code Online (Sandbox Code Playgroud)