全局改变对象值

时间:2016-12-16 11:55:32

标签: arrays swift list

我想更改对象本身的值,比如

obj.var = newValue

但是当在

中获取本地时
for item in myArray.filter( ... ) {
    item.var = newValue
}

这只会影响for循环中的本地副本。我可以使用原始数组中的索引来完成它,如

index = myArray.index(of: item) 
myArray[index].var = newValue

但这看起来很奇怪,不是很优雅,也不适合我。是否有更简单的解决方案,更易于阅读(和写入),可能是所有列表/数组的通用解决方案?你如何处理这个共同的任务?

(我正在使用Swift 3.0)

1 个答案:

答案 0 :(得分:2)

我认为你的var是值类型而不是类。所以如果你把它变成一个类。这将做你想做的事