ios通知中心
2015-06-25 10:13
316 查看
ios通知中心用得不是很多,可能是效率不及代理,所以在相对于代理机制而言,通知中心确实用的比较少。当然其也有代理不可比拟的优势:代码的耦合度非常好,可避免代理之间的层层迭代。
通知中心的原理是当事件发生时,检查内部的消息转发表,将消息发送给注册者。所以,谁想要获得消息,只需要向通知中心注册即可,注册方法:
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject
参数说明:
observer:需要获得通知消息的对象
selector:获得通知中心发出的消息后,注册者执行的动作
name:注册者感兴趣的事件
object 注册者感兴趣的事件的发出对象(如果指定nil则监听任何对象发送的通知)
总而言之就是告诉中心中心:谁向监听某个对象(全部对象)的某个消息,当符合条件的消息发生时,执行其某个动作,比如说,我想在app进入后台的时候做一些处理:那就可以这样子:
[[NSNotificationCenter
defaultCenter]
addObserver:self
selector:@selector(applicationWillResignActive:)name:
UIApplicationWillResignActiveNotificationobject:nil];
-(void)applicationWillResignActive{
//你想执行的动作
}
当然你也可以定义自己的消息如下面的@"notify,并通过postNotificationName将消息发送出去:
[[NSNotificationCenter defaultCenter] postNotificationName:@"notify"
object:nil];
(此时,绑定方法为:
[[NSNotificationCenter
defaultCenter] addObserver:self
selector:@selector(applicationWillResignActive:name:@"notify"object:nil];)
通知中心的原理是当事件发生时,检查内部的消息转发表,将消息发送给注册者。所以,谁想要获得消息,只需要向通知中心注册即可,注册方法:
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject
参数说明:
observer:需要获得通知消息的对象
selector:获得通知中心发出的消息后,注册者执行的动作
name:注册者感兴趣的事件
object 注册者感兴趣的事件的发出对象(如果指定nil则监听任何对象发送的通知)
总而言之就是告诉中心中心:谁向监听某个对象(全部对象)的某个消息,当符合条件的消息发生时,执行其某个动作,比如说,我想在app进入后台的时候做一些处理:那就可以这样子:
[[NSNotificationCenter
defaultCenter]
addObserver:self
selector:@selector(applicationWillResignActive:)name:
UIApplicationWillResignActiveNotificationobject:nil];
-(void)applicationWillResignActive{
//你想执行的动作
}
当然你也可以定义自己的消息如下面的@"notify,并通过postNotificationName将消息发送出去:
[[NSNotificationCenter defaultCenter] postNotificationName:@"notify"
object:nil];
(此时,绑定方法为:
[[NSNotificationCenter
defaultCenter] addObserver:self
selector:@selector(applicationWillResignActive:name:@"notify"object:nil];)
相关文章推荐
- ios常见加密解密方法
- iOS 8 AutoLayout与Size Class
- iOS md5 32位加密(区分大小写)
- textfield限制字数(兼容中文,复制,删除)iOS
- iOS7新特性总结
- iOS证书共享
- iOS支付宝报错 rsa_private read error : private key is NULL
- Zxing使用及常见错误(iOS)
- iOS真机测试
- 简述 IOS中的LazyLoad思想
- iOS archive(归档)的总结
- iOS 9适配系列教程:后台定位
- iOS中FMDB的基础操作,及日常使用心得
- IOS如何延长LaunchScreen.xib启动画面
- 说说iOS与内存管理(上)
- iOS 9适配系列教程:后台定位
- iOS 阶段学习第七天笔记(函数、递归)
- iOS: 如何正确的绘制1像素的线
- iOS单例的宏定义
- IOS8开发指南学习笔记