引号在阵列中丢失

时间:2016-04-22 16:38:46

标签: ios arrays string swift

我在数组中有多个字符串。它们每个都已包含一个引号,但我想在每个字符串的末尾添加另一个"。我就是这样做的:

for var str in coordinates {
    str += "\""
    print(str)
}
print(coordinates[0])

print(str)打印My"String"应该是这样的。
print(coordinates[0]打印My"String

为什么?这只是字符串的显示方式,但实际字符串包含"
提前谢谢。

1 个答案:

答案 0 :(得分:4)

for var中,var仅适用于循环内的当前范围。

它不是对数组中字符串的引用,它是副本(值)。

可以改变数组中现有的字符串,但Swifty这样做的方法是创建一个新的字符串,例如map

let result = coordinates.map { str in return str + "\"" }

简短版本:

let result = coordinates.map { $0 + "\"" }