黑马程序员技术交流社区

标题: 通知和代理的区别 [打印本页]

作者: hee    时间: 2014-12-9 21:02
标题: 通知和代理的区别
本帖最后由 hee 于 2014-12-10 21:54 编辑

通知和代理的区别?



作者: 楚燮哥哥    时间: 2014-12-9 21:08
可以理解为通知就是直接调用对象中的方法,而代理是通过另一个对象的方法来达到目的
作者: hee    时间: 2014-12-9 21:18
楚燮哥哥 发表于 2014-12-9 21:08
可以理解为通知就是直接调用对象中的方法,而代理是通过另一个对象的方法来达到目的 ...

是这样吗?
作者: Littlekin    时间: 2014-12-9 21:34
代理就是层级关系比较小的时候使用。比如当一个view需要更新数据时,需要通过控制器获取最新的模型数据就可以使用代理。代理是需要一层一层的往父控件传递。
通知就是层级关系比较大的时候使用。当需要跨控制器传数据时,就可以发出通知,发送一个通知整个项目都可以监听到的。还有一种情况,当模型数据发生改变时,想让控制器知道也可以通过通知实现。通知是不用一层一层的往上传递,它可以跨越多个控制器传递信息。还有最重要的一点,通知不用的时候需要关闭,所以通知性能比较低。
代理只能一对一;通知可以一对多和多对多。代理比较规范,可以定义自己的方法。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2