第九章 监听事件
监听事件有多种方式,代理,通知中心,addTarget等方法,还有KVC KVO
- KVC:Key Value Coding简直编码,常见是讲一个模型赋值。
一般使用setValuesForKeysWithDictionary:方法
- KVO:Key Value Observing,简直监听,常见作用是用来监听某一个属性值的改变
/**
* 简直监听:aaa监听了bbb的name属性的变化,需要实现监听方法
* addObserver:添加监听,当前控制器监听self.tableView 的变化,当他的其中的一个属性@“name”更改的时候调用,传递option的值
*/
[bbb addObserver:aaa forKeyPath:@"name" options:NSKeyValueObservingOptionOld | NSKeyValueObservingOptionNew context:nil];
- (void)dealloc {
[self.tableView removeObserver:self forKeyPath:@"name"];
}
/**
* 监听到object对象的keyPath发生改变
*
* @param keyPath 属性
* @param object 对象
* @param change 表示改变的内容,为添加监听的时候由options来决定
* @param context 内容
*/
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {
}