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 に答える