如何在Swift中追加一个string?

这用于在Xcode 6 Beta 5中工作,现在我在Beta 6中出现编译错误

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

错误 :无法用参数types'Character'调用'append'

更新Swift的移动目标:

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

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

 var newStr:String = str + String(aCharacter) 

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

 var newStr:String = str + [aCharacter] 

这也适用

 var newStr:String = str + String(aCharacter) 

另一个可能的select是

 var s: String = "" var c: Character = "c" s += "\(c)" 

append append(c: Character)是正确的方法,但是你的代码有两个其他的问题。

首先是迭代string的字符,您必须访问String.characters属性。

第二个是append方法不返回任何东西,所以你应该删除newStr。

代码如下所示:

 for aCharacter : Character in aString.characters { var str:String = "" str.append(aCharacter) // ... do other stuff } 
 var stringName: String = "samontro" var characterNameLast: Character = "n" stringName += String(characterNameLast) // You get your name "samontron" 
  let original:String = "Hello" var firstCha = original[original.startIndex...original.startIndex] var str = "123456789" let x = (str as NSString).substringWithRange(NSMakeRange(0, 4)) var appendString1 = "\(firstCha)\(x)" as String! // final name var namestr = "yogesh" var appendString2 = "\(namestr) (\(appendString1))" as String!* 

我必须得到名字和姓氏的缩写,并将它们加在一起。 使用上述答案中的一小段,这对我有用:

  var initial: String = "" if !givenName.isEmpty { let char = (givenName as NSString).substring(with: NSMakeRange(0, 1)) let str = String(char) initial.append(str) } if !familyName.isEmpty { let char = (familyName as NSString).substring(with: NSMakeRange(0, 1)) let str = String(char) initial.append(str) }