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