原理:响应式编程,响应观察成员变量的setter方法。因为一个OC属性其实是一个封装,是“_”的成员变量,以及setter和getter方法的封装。
在进行这个属性观测时,系统会动态创建一个继承实例对象的子类。子类的类名是将捕获的原实例对象名,进行字符串拼接生成。在子类中通过runtime机制,动态添加执行方法,也就是所谓的重写setter方法。当这个类注册成功。原监听的对象就会变成这个子类类型,指针变成子类指针的指向。
原理:响应式编程,响应观察成员变量的setter方法。因为一个OC属性其实是一个封装,是“_”的成员变量,以及setter和getter方法的封装。
在进行这个属性观测时,系统会动态创建一个继承实例对象的子类。子类的类名是将捕获的原实例对象名,进行字符串拼接生成。在子类中通过runtime机制,动态添加执行方法,也就是所谓的重写setter方法。当这个类注册成功。原监听的对象就会变成这个子类类型,指针变成子类指针的指向。
本文标题:KVO原理
本文链接:https://www.haomeiwen.com/subject/ffrkrktx.html
网友评论