您的位置:首页 > 其它

欢迎使用CSDN-markdown编辑器

2015-09-16 23:41 239 查看
一、KVO的实现原理

1> KVO是基于runtime机制实现的

2> 当某个类的对象第一次被观察时, 系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的 setter 方法。

派生类在被重写的 setter 方法实现真正的通知机制(Person→ NSKVONotifying_Person)

二、使用场景

1、避免了所谓的胶水代码,也就是说我不需要每次在有数据更新的地方都加上UI的更新操作

2、你或者说,数据更新的来源单一,我通常只需要在一处实现UI更新即可.那么考虑下,在手机平台上, 通常为了用户体验会将获取数据操作放到后台或次线程中,那么你更新UI操作又必须回到主线程.而使用KVO你就不需要操这些心.

3、从程序的结构而言,程序“”分离“”的比价彻底:获取数据的部分和UI更新的部分没有交叠,由KVO将两者联系了起来,这样看来难道不算是优雅吗。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: