iOS KVO和KVC及广播
来源:互联网 发布:魅族6手机备份数据 编辑:程序博客网 时间:2024/06/17 03:40
KVO和KVC
- 设置监听
[object addObserver:observer forKeyPath:属性名 options: option context:context]
- 属性改变
在observer里实现
<ul><li>(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
change字典常用的key形如:NSKeyValueChange*
注意:
1. 如果是监听的属性改变,并且自己实现 get 和 set 方法,这是需要使用 kvc 的方式来赋值,否则不能监听到值改变
2. 如果是监听的属性改变,并且自己实现 get 和 set 方法,需要使用 @synthesize 来将“属性名”和“_属性名”关联起来
广播
- 接收广播
[[NSNotificationCenter defaultCenter] addObserver:observer selector:@selector(functionName) name:broadcastName object:sender];
移除广播接收器
[[NSNotificationCenter defaultCenter] removeObserver:observer name:broadcastName object:sender];发送广播
[[NSNotificationCenter defaultCenter] postNotificationName:broadcastName object:data userInfo:dicUserInfo];
这里比较有意思的是发送广播和接收广播时候的 object 参数。使用这个参数可以实现广播和接受者 1-1 匹配。
一般情况下我们会把发送和接收的 object 都设置为 nil。这样的效果是发送的广播所有人都可以接收,接收者也可以接收任何对象发送的广播。
假设有一个对象 A,发送广播的时候如果把 object 设置成 A,则只有把 object 同样设置为 A 的接收者才可以接收到这条广播。
相关文章
NSNotificationCenter 的使用详解
OC学习篇之—通知(NSNotificationCenter)
NSNotificationCenter消息通信机制介绍(KVO)
0 0
- iOS KVO和KVC及广播
- ios kvc和kvo
- iOS KVC和KVO
- iOS KVC和KVO
- ios KVC和KVO
- iOS之KVC和KVO
- iOS之KVC和KVO
- ios中的KVC和KVO
- iOS之KVC和KVO
- iOS开发:KVO和KVC
- iOS开发 KVC和KVO
- IOS开发 - KVC 和 KVO
- iOS开发:KVO和KVC
- iOS之KVC和KVO
- 浅谈IOS KVC和KVO
- iOS中KVC和KVO
- iOS KVC 和 KVO 详解
- iOS中的KVC和KVO
- debian连接网络
- ubuntu firefox install flash
- iOS线程安全
- Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查
- MySQL创建用户与授权方法
- iOS KVO和KVC及广播
- Caffe中HDF5Data例子
- j2ee开发环境的建立(按需更新)
- iOS多线程
- java学习_多线程2和设计模式
- linux内存管理之kmalloc
- LeetCode_LinkedList_Easy
- 例题5.8 最大团 UVa11324
- iOS-GCD常用代码小结