您的位置:首页 > 移动开发 > IOS开发

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];)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: