iOS_KVO实现原理

2016-06-04  本文已影响111人  半路出家的程序猿

KVO简而言之就是:

1、当一个object有观察者时,动态(利用runtime机制)创建这个object的类的子类

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读