使用上下文进行 KVO 观察
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
如果你运送你的类供其他人使用,则上下文很重要 .Context 允许你的类观察者验证它是你正在调用的观察者。
没有传递观察者的问题是,如果某个子类是你的类的子类并为同一个对象注册一个观察者,相同的键并且他没有传递上下文,那么可以多次调用超类观察者。
一个独特的变量,内部供你使用,是一个很好的背景。
欲获得更多信息。