在 Swift 中连接字符串

iPh*_*Guy 0 iphone ios swift ios8

我有一个包含字符串的数组,即数组

我尝试连接字符串,但收到错误“字符串与 UInt8 不同

var titleString:String! = ""

 for title in array {
        titleString += "\(title)"
 }
Run Code Online (Sandbox Code Playgroud)

Ant*_*nio 5

要连接字符串数组的所有元素,可以使用以下reduce方法:

var string = ["this", "is", "a", "string"]

let res = string.reduce("") { $0 + $1 }
Run Code Online (Sandbox Code Playgroud)

第一个参数是初始字符串,为空,第二个参数是闭包,对数组中的每个元素执行。该闭包接收 2 个参数:上一步返回的值(如果是第一个元素,则为初始值)和当前元素值。

更多信息请点击此处

附录我忘记明确回答你的问题:串联不起作用,因为你将其声明为titleString可选 - 只要变成非可选变量,它就会起作用。如果您仍然想使用可选选项,请在进行分配时使用强制展开:

titleString! += "\(title)"
Run Code Online (Sandbox Code Playgroud)

附录 2正如@MartinR 所建议的,还有另一种更简单的连接方法:

join("", string)
Run Code Online (Sandbox Code Playgroud)