iOS 通知——广播通知

2016/03/26 15:39
阅读数 57

在苹果的开发API中有3个不同的通知,分别是广播通知、本地通知、推送通知。


广播通知

广播通知,即观察者模式中的通知机制,它可以实现在相同进程中实现一个对象对多个对象的通信,它在异步调用返回结果给多个对象时使用非常广泛。

观察者模式的具体应用有两种:

模式1、通知机制

模式2、KVO机制

通知机制是一个对多个对象之间的通信,不同于委托,因为委托是一对一的对象之间的通信。

在通知机制中,对某个通知感兴趣的所有对象都可以成为接收者,首先这些对象需要向通知中心(NSNotificationCenter)发出addObserver:selector:name:object:消息进行注册,在投送对象投送通知给通知中心时,通知中心就会把通知广播给注册过的接收者。所有接收者都不知道通知是谁投送的,更不关心它的细节。

如果接收者不再关注,就会给通知中心发出removeObserver:name:object:消息解除注册,以后不再接收通知。


代码示例

发送通知

[[NSNotificationCenter defaultCenter] postNotificationName:NotificationName object:nil userInfo:notiDict];


接收通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getOrganizationInfoWhenBackView:) name:NotificationName object:nil];


实现通知中的方法

- (void)getOrganizationInfoWhenBackView:(NSNotification *)info

{

    // do something

}


移除通知

[[NSNotificationCenter defaultCenter] removeObserver:self name:NotificationName object:nil];


展开阅读全文
打赏
1
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
1
分享
返回顶部
顶部