我有一个NSMutabelArray
,其中有一些对象作为我View-Controller
的属性。
现在,当我推送这个VC时,我传递了这个数组。
我最初分配了它。
但现在我需要在VC中旋转时修改数组,而不影响之前VC中的数组。 所以它成了一个复制属性。
现在我正在单独更改数组中的对象。
但不知何故......我的前VC中的阵列也在变化。
我必须使用修改过的对象创建一个新的NSMutabelArray
,并且必须设置为我的属性。
复制属性是否只是使另一个数组具有相同的对象引用添加到数组中?
答案 0 :(得分:10)
copy
属性表示在将copy
消息发送到传入的对象后,将为该属性分配返回的对象。这是指深度还是浅度取决于要复制的对象。 Foundation集合创建浅表副本,因为它允许copy
实现为retain
不可变集合。
答案 1 :(得分:3)