kvo
2015-11-13 10:02
246 查看
KVO
这种机制允许当一个对象的某种属性的值被修改后会通知另外观察改变化的对象。常用于MVC中Model与Controller之间的通信。
KVO是基于KVC这种模式来实现的如何使用KVO
注册,指定被观察者的属性实现回调方法 (对属性监听)(KVC对方法监听)
移除观察
常用方法及数据类型说明
// 添加监听对象,并指指定监听的keyPath,以及监听哪些值的变化-(void)addObserver:(NSObject )anObserver forKeyPath:(NSString )keyPath
options:(NSKeyValueObservingOptions)options context:(void *)context
options参数:
NSKeyValueObservingOptions 说明你要监听什么样的变化:
NSKeyValueObservingOptionNew 属性变化的时候, 只会通知新的值
NSKeyValueObservingOptionOld 属性变化的时候,只会通知旧的数据值
NSKeyValueObservingOptionInitial 当调⽤用添加监听的⽅方法时候,回调⽅方法⽴立即调⽤用,
通知初始值
NSKeyValueObservingOptionPrior 取代单次通知,在值变化前和变化后都会调⽤用,⽐比如
设置old后,不单单只通知⼀一次, 变化前后会通知两次。
// 移除指定键路径的观察者对象
- (void)removeObserver:(NSObject )anObserver forKeyPath:(NSString )keyP
ath
// 当监听的属性发⽣生变化后会调⽤用此⽅方法,根据监听option的设置,change的值会存储对应的值
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object ch
ange:(NSDictionary )change context:(void )context
注意:必须⽤用set⽅方法, 或者KVC的⽅方法修改属性的值,才会引起KVO通知
相关文章推荐
- 互联网项目为何不易取得成功?
- TCMalloc:线程缓冲的Malloc
- C# Lock关键字
- EC读书笔记系列之16:条款35、36、37、38、39、40
- android定位使用基站
- PHP 魔术方法汇总
- ubuntu安装中文输入法
- pop到上层控制器
- IIS中“绑定”,“IP地址全部未分配”到底是个什么玩意
- LeetCode Range Sum Query 2D - Immutable
- 20150509
- linux 查看系统资源实用情况之top命令
- 微信扫码支付,扫商户二维码后,输入金额支付 php源代码下载 类似闪惠、到店付功能实现教程和源代码
- HALCON学习-下载、安装
- Linux下面文件内容到内存区域的映射
- the account is locked 解决方案
- linux下make命令和makefile文件学习
- linux下的清屏命令
- linux下的清屏命令
- CentOS6.5安装Tab增强版:bash-completion