作者:ani_di
版权所有,转载务必保留此链接 http://blog.csdn.net/ani_di
Thinking about KVC/KVO
1. 什么是KVC/KVO
KVO:Key-Value Observing
KVC:Key-value coding
2. 如何使用
Key-value由NSObject实现,因此所以ObjC的对象都可以使用。
它提供了一种使用‘名字’访问对象属性的方法,如同所以对象都是NSDictionary。Key还支持Key path和Collection operator。Key-Value Coding Programming Guide。
KVO是在Key-value的基础上增加了Observing,用户可自定义当对象发生变化时的响应。
3. KVO有什么用
KVO可以减少很多Model与View之间数据同步所需要的代码,通常这些代码在Controller中实现。Interface builder的Binding inspector可以非常方便的完成界面控件绑定。
对于非UI程序,观察者模式同样适用。这里有一个官方例子
4. 什么场合适合用KVC
KVC适合数据驱动的场景。缺点是KVC数据访问比较慢,修改数据要遵从相应的协议,对key的合法性检查由用户承担。
其它