A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hee 中级黑马   /  2014-12-9 21:02  /  659 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 hee 于 2014-12-10 21:54 编辑

通知和代理的区别?


3 个回复

倒序浏览
可以理解为通知就是直接调用对象中的方法,而代理是通过另一个对象的方法来达到目的
回复 使用道具 举报
楚燮哥哥 发表于 2014-12-9 21:08
可以理解为通知就是直接调用对象中的方法,而代理是通过另一个对象的方法来达到目的 ...

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

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马