iOS开发通知NSNotifacationCenter的使用

NSNotifacationCenter(通知)通信的特点是:为单例模式,可以实现一对多通信。
通知是观察者(observer)模式的一种,结构为:发布者->通知中心->接受者。

  • 通知的通信过程


发布通知方法
Name:   该通知的名字
object:   通知的发送者 一般为self
userInfo:传递的附加信息(字典类型的)
 [[NSNotificationCenter defaultCenter] postNotificationName:(nonnull NSNotificationName) object:(nullable id) userInfo:(nullable NSDictionary *)];

注册通知方法

observer: 观察者(一般在控制器中是self)
aSelector:监听到通知后触发的那个方法 
name: 通知的名字
bject:  监听哪个对象发出的通知,如果使用"nil"值,代表监听所有通知。
[[NSNotificationCenter defaultCenter] addObserver:(nonnull id) selector:(nonnull SEL) name:(nullable NSNotificationName) object:(nullable id)];

aSelector:监听到通知后触发的那个方法 例如

- (void)receiveotification:(NSNotification *)notification {
    NSLog(@"收到通知了");
   NSDictionary *dic =  notification.userInfo;
}

不要忘了在注册观察通知的控制器的dealloc方法中移除要观察的通知。

-(void)dealloc {
     [[NSNotificationCenter defaultCenter] removeObserver:self];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容