copyWithZone在NSArray上调用copyWithZone也在它的元素上吗?

mal*_*lik 3 cocoa

这是场景,我有这个Person对象数组.copyWithZone实现Person并按预期工作.

我有一个Person对象数组,但是当我创建数组的副本并修改原始数组中的内容(更改a的属性Person)时,它也会更改副本.所以我最好的猜测是,当我打电话copyWithZoneNSArray,它不会在其元素上调用它.请确认.

Ole*_*ann 5

证实.Cocoa的集合类NSCopying通过创建浅表副本来实现.如果您需要深层复制,则必须自己实施.