美文网首页
初步探讨KVO底层实现(附demo)

初步探讨KVO底层实现(附demo)

作者: Just丶Go | 来源:发表于2018-03-23 13:59 被阅读0次

Demo内有实现过程的详细注释
Demo地址: https://github.com/304164084/custom_KVO_IMP

简单概述下 KVO 的实现:

当你观察一个对象时,一个新的类会动态被创建。这个类继承自该对象的原本的类,并重写了被观察属性的 setter 方法。自然,重写的 setter 方法会负责在调用原 setter 方法之前和之后,通知所有观察对象值的更改。最后把这个对象的 isa 指针 ( isa 指针告诉 Runtime 系统这个对象的类是什么 ) 指向这个新创建的子类,对象就神奇的变成了新创建的子类的实例。

相关文章

网友评论

      本文标题:初步探讨KVO底层实现(附demo)

      本文链接:https://www.haomeiwen.com/subject/rdqxcftx.html