【发布时间】:2015-12-24 02:06:15
【问题描述】:
所以我知道swift数组是用struct实现的,它会自己自动复制。
我已经编写了我的课程 MyClass 并且我已经实现了 copyWithZone 来复制它
但是,我的 swift 数组包含我的 MyClass 对象,例如:
var array = [MyClass]()
当我想复制那个数组时
var anotherArray = array
它仍然没有调用MyClassObject.copyWithZone,以后如果我更改array中的对象属性,anotherArray也会反映更改。
如何在不编写 for 循环来迭代每个对象的情况下复制该 ?
它没有被复制为deep copy for array of objects in swift,因为我不能使用 struct 来重写我的类。
【问题讨论】:
-
不,不是,答案是我必须使用 struct 来自动复制。但是我无法将其更改为 struct。这是一堂大课。
-
感谢您指出这一点,我将取消我的近距离投票
-
您可能需要考虑向 Array.阅读此页面上的问题和第一个答案:stackoverflow.com/questions/24027116/… 但是,您无法避免使用显式或隐式循环。
-
谢谢!我会考虑延期