标签:
KVO内部实现原理
1.KVO是基于nruntime机制实现的.
2.当某个类的对象第一次被观察是,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的set方法.派生类在被重写的setter方法实现真正的通知机制(-->>NSKVONotifying_类名);
苹果不希望这个机制暴露在外部。除了setter,这个动态生成的子类同时也重写了-class方法,依旧返回原先的class!如果不仔细看的话,被KVO过的object看起来和原先的object没什么两样。
标签:
原文地址:http://www.cnblogs.com/supersr/p/4829527.html