如何在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) }