KVO即:观察者设计模式( Key-Value Observing)
1.当被观察者的属性被修改时,观察者或获得一个通知,然后作相应的处理(且不需要给被观察的对象添加任何额外代码,就能使用 KVO 机制)
2.在 MVC 设计架构下的项目,KVO 机制很适合实现 mode 模型和 view 视图之间的通讯。
3.当观察对象A时,KVO机制动态创建一个新的名为:NSKVONotifying_A的新类,该类继承自对象A的本类,且 KVO 为 NSKVONotifying_A 重写观察属性的 setter 方法,setter 方法会负责在调用原 setter 方法之前和之后,通知所有观察对象属性值的更改情况
4.KVO 的键值观察通知依赖于 NSObject 的两个方法:willChangeValueForKey:和 didChangevlueForKey:,在存取数值的前后分别调用 2 个方法
5.写观察属性的 setter 方法这种继承方式的注入是在运行时而不是编译时实现
6.使用步骤:
1.注册观察者,实施监听;
2.在回调方法中处理属性发生的变化;
3.移除观察者