# 通知中的知识点
- **1.观察者模式:**
- 观察者模式-发生时间后,以广播的形式,通知所有监听者
---
- 2.通知中心的本质是什么?
- 就是监听一个字符串
- defaultCenter 返回进程的默认通知中心!开发的时候不能创建通知中心!
- 通知中心一旦获取到"字符串",就以广播的形式广播字符串,可以有多个观察者.
- --
- 3.通知到底是**`异步`**还是**`同步`**执行的?
- 答案是:同步的!(这里非常容易错误的想当然为异步);
- --
- 4.通知里面有什么?
- name 通知的名称字符串,通知中心本质上就是监听这个字符串
- object 发送通知的时候,希望传递给监听者的对象
- userInfo 发布通知的时候,希望传递给监听者的附加信息字典;
---
- **5.通知和代理的区别**
- 代理是一对一,设置delegate属性,在需要的时候,通过delegate调用selector方法;
- 通知是一对多的,只要发生事件,会以广播的形式通知所有监听者.
- 通知中心/发布中心的对象不需要知道监听者是谁,发布对象和监听对象之间的耦合度很低.
- 监听者需要知道通知名称的字符串,如果发布者还传递userInfo字典,监听者同时需要知道字典的键名.
- 通知监听方法不能由返回值;代理方法可以有返回值.
- ---
- **6.对性能消耗比较大的功能:**
- 地图导航(GPS),利用加速计/陀螺仪,通知中心...
- 7.对性能消耗交大的功能优化处理:
//在需要时创建,在不需要时移除;例如下列代码:
网友评论