码迷,mamicode.com
首页 > 其他好文 > 详细

KVO深入理解

时间:2018-07-06 01:27:45      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:理解   动态创建   观察者模式   not   观察   value   一个   lin   属性   

Key Value Observing(键值观察),是Objective-C观察者模式的实现。当被观察对象的某个属性发生变化时,观察对象就会收到通知。

实现原理:

1)在运行期,为被观察对象的类动态创建一个子类,名为NSKVONotifying_xxx

2)在子类NSKVONotifying_xxx中,重写被观察属性yyy的setter方法

3)将被观察对象的isa指针,指向子类NSKVONotifying_xxx,即isa-swizzling。这样,当被观察属性改变时,就会调到子类中的setter方法

4)在子类的setter方法中,通知观察对象

KVO深入理解

标签:理解   动态创建   观察者模式   not   观察   value   一个   lin   属性   

原文地址:https://www.cnblogs.com/yangwenhuan/p/9270776.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!