Objective-C属性的Copy属性是创建深层副本还是浅层副本?

Amo*_*kar 4 objective-c

我有NSMutabelArray一些对象作为我的属性View-Controller.现在,当我推送这个VC时,我传递了这个数组.

我最初做了分配.

但现在我需要在VC中旋转时修改数组,而不影响之前VC中的数组.所以它成了一个复制属性.

现在我正在单独更改数组中的对象.

但不知何故......我的前VC中的数组也在变化.

我不得不NSMutabelArray用修改过的对象创建一个新的,并且必须设置为我的属性.

是复制属性只是使另一个数组具有相同的对象引用添加到数组?

Ste*_*mer 10

copy属性意味着在将copy消息发送到传入的对象后,将为属性分配返回的对象.这是指深度还是浅度取决于要复制的对象.Foundation集合创建浅表副本,因为它允许copy实现retain为不可变集合.