您的位置:首页 > 其它

(6) iphone 开发 真正理解委托(delegate)与数据源(data source)

2012-04-11 20:04 316 查看

可以这么说,在iphone开发过程中,处处都离不开委托与数据源,他们是Cocoa框架的一种设计模式。

控制器拥有委托与数据源的对象,当赋给委托与数据源对象实例时(如delegate=self,把当前对象传给delegate),这时委托 或 数据源 就获得了执行操作的权利。



委托与数据源的相同之处:

先拿delegate举例,在这一点与数据源一样:在一般的程序当中不难发现,当delegate被实例后,它的具体工作是什么?当然这也得看是什么样的程序需要哪些功能,这里简单来说就是控制器(UIViewController)需实现委托对象的类型的相关的协议(protocol),然后根据功能需要实现其协议方法。关于委托的例子讲解,参见:博文第(1)篇讲的也很详细:(1)
iphone开发,自定义Window-based Application 模板及委托运行机制



不同之处:

数据源:顾名思义是数据集中营,也可以说是持有了数据的引用,管理着数据,如把数据呈现在屏幕上。

委托:是定制的控制器的对象,它具有明显的执行能力。



之间的联系:

数据源管理着数据在必要时会提供给委托数据。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: