KVO - 复制观察到的对象



我想确定一些事情。

假设我有一个 NSArray,有一些对象。假设观察到这些对象。

现在,如果我用第一个(initWithArray:copyItems:NO)创建另一个NSArray,观察结果会保持不变吗?

如果我使用复制(initWithArray:copyItems:YES)创建,观察会遵循新数组中的新对象吗?

谢谢!

观察通过

指针链接到原始对象。

如果您创建一个新数组而不复制,则对象是相同的。观察不会改变,您只是对同一对象的多个引用。

如果使用复制创建新数组,则对象会有所不同,但原始对象仍存在于原始数组中。观察不会改变,您仍在观察原始对象。新对象实际上是不相关的,并且没有观察者。

最新更新