标签:
√ 概述
1.键值编码KVC
2.键值监听KVO
√ 键值编码KVC
KVC的操作方法由NSKeyValueCoding协议提供,而NSObject就实现了这个协议,也就是说ObjC中几乎所有的对象都支持KVC操作。
常用的KVC操作方法如下:
♥ 动态设置: setValue:属性值 forKey:属性名(用于简单路径)、setValue:属性值 forKeyPath:属性路径(用于复合路径,例如Person有一个name类 型的属性,那么person.namet就是一个复合属性)
♥ 动态读取: valueForKey:属性名 、valueForKeyPath:属性名(用于复合路径)
KVC使用起来比较简单,但是它如何查找一个属性进行读取呢?具体查找规则(假设现在要利用KVC对a进行读取):
√ 键值监听KVO
KVO其实是一种观察者模式,利用它可以很容易实现视图组件和数据模型的分离,当数据模型的属性值改变之后作为监听器的视图组件就会被激发,激发时就会回调监听器自身。在ObjC中要实现KVO则必须实现NSKeyValueObServing协议,不过幸运的是NSObject已经实现了该协议,因此几乎所有的ObjC对象都可以使用KVO。
常用的操作方法如下:
♥ 注册指定Key路径的监听器: addObserver: forKeyPath: options: context:
♥ 删除指定Key路径的监听器: removeObserver: forKeyPath、removeObserver: forKeyPath: context:
♥ 回调监听: observeValueForKeyPath: ofObject: change: context:
KVO的使用步骤也比较简单:
标签:
原文地址:http://www.cnblogs.com/Lorraine1/p/4732911.html