// 添加键值观察
/*
1 观察者,负责处理监听事件的对象
2 观察的属性
3 观察的选项
4 上下文
NSKeyValueObservingOptionNew:提供更改前的值NSKeyValueObservingOptionOld:提供更改后的值NSKeyValueObservingOptionInitial:观察最初的值(在注册观察服务时会调用一次触发方法)NSKeyValueObservingOptionPrior:分别在值修改前后触发方法(即一次修改有两次触发)
*/
[self.person addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:@"Person Name"];
// 所有的 kvo 监听到事件,都会调用此方法
/*
- 观察的属性
- 观察的对象
- change 属性变化字典(新/旧)
- 上下文,与监听的时候传递的一致
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context;
网友评论