ios通知中心

来源:互联网 发布:送货单软件排行 编辑:程序博客网 时间:2024/05/02 19:08

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];
0 0