复制数组将创建一个数组的新实例,但是数组中的对象仍在旧数组中引用。这不是一个错误吗?
数组中的项目:项目:0xa623800
新数组中的项目:项目:0xA623800
po [self selectedItems]
(NSMutableArray *) $1 = 0x0a21f1a0 <__NSArrayM 0xa21f1a0>(
<Item: 0xa623800>
)
po [[self selectedItems] copy]
(id) $2 = 0x0b854fd0 <__NSArrayI 0xb854fd0>(
<Item: 0xa623800>
)
它确实复制了数组,而不是数组中的项目。那是一个深层副本。我认为您可能想要-initWithArray:copyItems:
。