0
我想改变物体本身就是一种价值,像更改对象值globaly
obj.var = newValue
但环本地得到这个时候像
for item in myArray.filter(...) {
item.var = newValue
}
这仅影响本地副本中。我可以使用原始数组中的索引,如
index = myArray.index(of: item)
myArray[index].var = newValue
但是,这看起来很奇怪,不是很优雅,对我来说也不是很好。有没有更简单的解决方案,更容易阅读(和写),也许是所有列表/数组的一个通用解决方案?你如何处理这个共同的任务?
(我使用雨燕3.0)
你的第一行代码表明你想要更新一个**特定的** var(或者可能是一个**特定的数组索引** var,但是你的下一个代码片段(for ..in循环)表示你希望更新**所有数组**变量,这是什么?如果是后者,考虑使用**作为你的循环定义中的0 ..
dfd
循环是一个例子,我想改变对象的值,而不是在“item”中的本地版本,但也在myArray中(additionaly)。所以当我在myArray上再次运行一个循环时,更新后的值在那里。也可能发生在已过滤的子集中,因此在循环内使用的索引与全局数组所需的索引不同(myArray) –
显示'obj'声明以查明它是什么(class,struct ...)。 – shallowThought