KVO (Key Value Observing)
-
KVO和KVC
- KVC(Key Value Coding)
- 常见作用:给模型属性赋值
- KVO(Key Value Observing)
- 常见作用:监听模型属性值的改变
- KVC(Key Value Coding)
KVO使用步骤
//监听者xx 监听了 模型tt 的 属性mm 值的改变
[模型tt addObserver:监听者xx forKeyPath:@"属性名称mm" options: NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew context:nil];
/**
* 当监听到object的keyPath属性发生了改变
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
//change[@"new"] 新值
//change[@"old"] 旧值
}
// 删除监听
- (void)dealloc
{
[模型tt removeObserver:监听者xx forKeyPath:@"属性名称mm"];
}