----Make by -LJW 转载请注明出处---
- 通知(NSNotificationCenterNSNotification)
- 任何对象之间都可以传递消息
- 使用范围(多对多)
- 1个对象可以发通知给N个对象
- 1个对象可以接受N个对象发出的通知
- 必须得保证通知的名字在发出和监听时是一致的
- KVO —>涉及到需要监听对象属性的改变的时候用KVO,其它情况建议不选
- 仅仅是能监听对象属性的改变(灵活度不如通知和代理)
- 代理
- 使用范围
- 1个对象只能设置一个代理(假设这个对象只有1个代理属性)
- 1个对象能成为多个对象的代理
- 比
通知
规范 - 建议使用
代理
多于通知
- 使用范围
从规范使用上,建议使用代理,因为通知必须得保证通知的名字在发出和监听时是一致的
不过代理代码量比较多,能利用代理就用代理,不过一个对象想通知多个对象只能用通知了
通知:
注册/取消注册通知监听器—>(被监听者)发布通知
代理:
(被监听者)声明协议 / 声明协议方法 / 创建代理对象 / 触发事件里判断某个对象是否实现了协议方法—>代理遵守协议 / 实现代理方法
make by-LJW