KVO实现原理

来源:互联网 发布:单词默写软件 编辑:程序博客网 时间:2024/05/01 16:57
 KVO的运行原理是基于运行时的 当一个对象注册了监听者以后 程序运行时就会动态的创建被监听者的一个子类(NSKVONotifying),创建该子类的对象     KVO只能监听对象属性通过setter方法改变时监听

1、当一个object有观察者时,动态创建这个object的类的子类

2、对于每个被观察的property,重写其set方法

3、在重写的set方法中调用- willChangeValueForKey:和- didChangeValueForKey:通知观察者

4、当一个property没有观察者时,删除重写的方法

5、当没有observer观察任何一个property时,删除动态创建的子类
0 0
原创粉丝点击