iOS基础知识:Objective-C 之 通知(Notification)
2015-09-12 15:04
471 查看
通知
本文中事先建好三个对象p1,p2,p3,因为与本文关系不大所以不在此作代码展示
新建一个通知(NSNotification),供以后由通知中心(NSNotificationCenter)去发送(Post),该步也可以省去,直接在要发通知时,由通知中心创建
NSNotification *notificaty = [NSNotification notificationWithName:@"help" object:p1];
设置了notification的三个属性,name为通知名,object为发送通知的对象,userInfo装上要传数据的字典,根据需要,可以省去
向通知中心注册两个观察者,一旦有相关通知下发,立即通知到观察者
[center addObserver:p2 selector:@selector(didReceiveNotification:) name:@"helps" object:nil]; [center addObserver:p3 selector:@selector(didReceiveNotification:) name:@"help" object:nil];
此处当p2收到helps的命令就会执行selector,当p3收到help的命令就会执行selector,object设置为nil,表示不管哪个对象发送了这个通知都会执行
发送通知,第1点只是有个通知,但是并未完成发送的动作,发送的动作由通知中心完成
[center postNotification:notificaty];
当一个观察者释放后,再去发送通知,还是会去调用selector,而在方法内的self实际上已经被释放了,这样是不安全的,所以在一个观察者释放前,需要移除注册的通知
相关文章推荐
- 浅析PHP微信支付通知的处理方式
- Android中的广播、服务、数据库、通知、包等术语的原理和介绍(图解)
- 配置iOS推送通知与推送通知iOS客户端编写实现及推送服务器端编写
- (转)NSNotification example
- 本地通知
- 中国式通知
- Android Notification详解
- 美国 SOPA 法案简介
- 等待事件之Log File Sync
- 国务院办公厅关于2011年部分节假日安排的通知
- 关于进一步加强国家统一考试保密管理工作的通知
- 对模式图及通知的理解
- OC笔记 - NSNotification、键盘通知(2015.3.7)
- android通知 notification
- 状态栏发送通知
- Spring AOP各种通知 以及执行顺序
- android不通过自定义layout,修改通知logo
- iOS开发系列--通知与消息机制
- 在数字键盘上添加button
- APNS - Apple Push Notification Service