我想确定一些事情。
假设我有一个带有一些对象的NSArray。 假设观察到这些对象。
现在,如果我用第一个(initWithArray:copyItems:NO
)创建另一个NSArray,观察是否会被触及?
如果我创建复制(initWithArray:copyItems:YES
),观察是否会跟随新数组中的新对象?
谢谢!
答案 0 :(得分:3)
观察通过指针链接到原始对象。
如果创建新数组而不复制,则对象是相同的。观察不会改变,你只需要对同一个对象进行多次引用。
如果使用复制创建新数组,则对象不同,但原始对象仍存在于原始数组中。观察不会改变,你仍然在观察原始物体。新对象实际上是无关的,没有观察者。