键-值观察(KVO模式)
来源:互联网 发布:深圳淘宝运营助理招聘 编辑:程序博客网 时间:2024/05/14 15:51
总体来说,KVC就是通过变量名来修改和读取变量值的一种方法。
键-值观察KVO在这些值发生变化的时候通知开发者
1、添加一个观察者(一个对象的监听者(注册代理)):
-(void)addObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context
对象的KeyPath上发生变化时将通知观察者
options定义了发送消息时需要包含的内容,可以是发送旧值(改变前)和新值(改变后)
context变量指需要与其他消息一起发送的数据指针
2、实现观察,当发生改变时,观察者接受到下列消息
-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
change是可能包含旧值或者新值的字典
context如果在注册时不为空,那么这里将接受到值
3、当观察结束之后,可以执行以下方法移除观察者
[a removeObserver:self forKeyPath:@"change"];
需要注意的时,在KVO中,需要谨慎使用context指针,因为任何键值观察的观察者,都是用特定的方法observeValueForKeyPath: ofObject: change: context:来实现,所以就可能错误的将其他观察者的消息截留下来,发生错误
解决这种错误的方法一般是使用特定的指针作为context参数的值。
0 0
- 键-值观察(KVO模式)
- 14.键-值观察(KVO)
- KVO键-值观察编程指南
- KVO(键值观察)
- KVO - 观察自定义属性值
- 详解键值观察(KVO)
- KVO (Key-Value Observing) 键值观察模式
- KVO (Key-Value Observing) 键值观察模式
- Iphone开发基础篇(十五)-ObjectC之键/值观察(KVO)
- iOS KVO(键-值观察) 的使用总结
- OC视频笔记-[键-值观察KVO+谓词]
- cocoa 键值观察依赖键(KVO)--笔录
- cocoa 自动键值观察(KVO)--笔录
- ViewController之间通讯KVO(key value observing)键值观察模式
- KVO(NSKeyValueObserving 键 - 值编码)与KVC(NSKeyValueCoding 键值观察机制)详解
- 键路径(keyPath)、键值编码(KVC)和键值观察(KVO)
- iOS KVO观察数组
- iOS KVO观察数组
- PDU编码规则
- 个人感悟
- HDU1269(Tarjan算法)
- webmagic_dependency
- java设计模式之单例模式写法,懒汉,饿汉,双检锁
- 键-值观察(KVO模式)
- 初学者怎样才能开发出高效的J2EE系统
- 如何让表格的奇数行和偶数行具有不同的背景颜色
- 角度制与弧度制
- AlipayRsaLib.a(base64.o) ld: 2 duplicate symbols for architecture i386
- 荣耀A55高调上市只为孤独求败?
- 优化Android App性能?十大技巧必知!
- JLINK调试问题总结
- 微博里很多明星的自拍照好老好丑,他们怎么这么自信PO上去的?娱乐八卦天涯论坛