kvc即key valued coding 键值编码
建立model,设置属性
为了防止崩溃,在model的.m里面需要写上这个方法
在viewcontroller里面引入头文件,并设置全局的kvcModel *model;
通过setValue forKey方法对dic里面的value进行改变。
通过打印的结果我们可以看到,之前dic里面的name和sex属性的value发生了变化
KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了
在ObjC中使用KVO操作常用的方法如下:
注册指定Key路径的监听器:addObserver: forKeyPath: options:context:
删除指定Key路径的监听器:removeObserver: forKeyPath、removeObserver: forKeyPath: context:
回调监听:observeValueForKeyPath: ofObject: change: context:。
系统框架已经支持KVO,所以程序员在使用的时候非常简单。
1. 注册,指定被观察者的属性,
2. 实现回调方法
3. 移除观察
//需要注意的是观察者模式需要手动销毁,当前界面销毁,并不代表观察者模式也销毁了
//观察的对象self为响应的对象
path为观察对象其中的哪一个属性,使用字符串来表示这个属性,要求与属性名保持一致
options为观察值变化为有新的变化时候,通知我context上下文
网友评论