KVC和KVO

作者: 和珏猫 | 来源:发表于2016-02-27 15:26 被阅读72次

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: forKeyPathremoveObserver: forKeyPath: context:

回调监听:observeValueForKeyPath: ofObject: change: context:

系统框架已经支持KVO,所以程序员在使用的时候非常简单。

1. 注册,指定被观察者的属性,

2. 实现回调方法

3. 移除观察

//需要注意的是观察者模式需要手动销毁,当前界面销毁,并不代表观察者模式也销毁了

//观察的对象self为响应的对象

path为观察对象其中的哪一个属性,使用字符串来表示这个属性,要求与属性名保持一致

options为观察值变化为有新的变化时候,通知我context上下文

相关文章

网友评论

      本文标题:KVC和KVO

      本文链接:https://www.haomeiwen.com/subject/ztbwkttx.html