在使用KVO的时候添加观察者我们是这样做的:
// 监听btn 的selected属性改变
[self addObserver:self forKeyPath:@"selected" options:NSKeyValueObservingOptionNew context:nil];
需要特别注意的是:在dellaoc 的时候我们需要将监听的observer移除:
- (void)dealloc {
[self removeObserver:self forKeyPath:@"selected"];
}
上面是在正常不过的操作了,但是我们在实际的项目可能会遇到
1.重复添加observer这种情况属性值的改变会回调:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:
(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {}