2016-04-22 53 views
1

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

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

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

怎么回事?这是如何显示字符串,但实际字符串包含"
在此先感谢。

回答

4

for varvar仅适用于循环内的当前作用域。

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

可以变异的数组,但这样做是为了创建一个新的SWIFTY方式在现有的字符串,map例如:

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

短版:

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

谢谢,正是我在找的:) – LinusGeffarth