我对 Objective-C 中的 KVO 有点困惑。如果我的属性符合 KVO,我是否有两种选择来发出通知:1.addObserver:.../observeValueForKeyPath:...
和 2. did/willChangeValueForKey...
,还是我们应该did/willChangeValueForKey
在特定上下文中使用这些方法?
我注意到第二个 ( did...
) 可用于将多个更改分组到单个通知中;关于这两种方式还有其他重要的事情需要了解吗?第一种方法 ( addObserver:...
) 是否无法在某些上下文中使用(尽管上下文符合 KVO)?
编辑:在 NSManagedObject 的子类中,只 did/willChangeValueForKey...
使用了,但没有使用addObserver:.../observeValueForKeyPath:...
:你知道为什么吗?