1

复制数组将创建数组的新实例,但数组中的对象仍被旧数组引用。这不是一个错误吗?

数组中的项目: 项目:0xa623800

新数组中的项目:项目:0xa623800

po [self selectedItems]
(NSMutableArray *) $1 = 0x0a21f1a0 <__NSArrayM 0xa21f1a0>(
<Item: 0xa623800>
)

po [[self selectedItems] copy]
(id) $2 = 0x0b854fd0 <__NSArrayI 0xb854fd0>(
<Item: 0xa623800>
)
4

1 回答 1

4

它确实复制了数组,但没有复制数组中的项目。那是深拷贝。我想你可能想要-initWithArray:copyItems:

于 2012-10-23T16:58:28.613 回答