KVO:(Key-ValueObserving)objective-c中可以使用KVO来监听属性改变。(通过设置观察者来实现)
两个方法:
1、设置监听
- (void)observeValueForKeyPath:(nullable NSString*)keyPath ofObject:(nullable id)object change:(nullableNSDictionary<NSString*,id> *)change context:(nullable void*)context;
为控件要监听的属性添加观察者。
2、响应监听
- (void)observeValueForKeyPath:(nullable NSString*)keyPath ofObject:(nullable id)object change:(nullableNSDictionary<NSString*,id> *)change context:(nullable void*)context;
重写该方法,并在其中实现属性变化后的动作代码。
3、移除监听响应(常写在dealloc方法中)
- (void)removeObserver:(NSObject*)observer forKeyPath:(NSString *)keyPath;
参数分析:
keyPath :要监听的属性名
object :属性发生改变的对象
change :属性发生的变化