可以这么说,在iphone开发过程中,处处都离不开委托与数据源,他们是Cocoa框架的一种设计模式。
控制器拥有委托与数据源的对象,当赋给委托与数据源对象实例时(如delegate=self,把当前对象传给delegate),这时委托 或 数据源 就获得了执行操作的权利。
# 委托与数据源的相同之处:
先拿delegate举例,在这一点与数据源一样:在一般的程序当中不难发现,当delegate被实例后,它的具体工作是什么?当然这也得看是什么样的程序需要哪些功能,这里简单来说就是控制器(UIViewController)需实现委托对象的类型的相关的协议(protocol),然后根据功能需要实现其协议方法。关于委托的例子讲解,参见:博文第(1)篇讲的也很详细:[(1) iphone开发,自定义Window-based Application 模板及委托运行机制](http://blog.csdn.net/dongstone/article/details/7421967)
# 不同之处:
数据源:顾名思义是数据集中营,也可以说是持有了数据的引用,管理着数据,如把数据呈现在屏幕上。
委托:是定制的控制器的对象,它具有明显的执行能力。
之间的联系:
数据源管理着数据在必要时会提供给委托数据。
- 前言
- (1) iphone开发,自定义Window-based Application 模板及委托运行机制
- (2) iphone 开发 表视图UITableView结构深层剖析
- (3) iphone 开发 从应用程序看UITableView的:分组,分区,索引,工作原理及其变换法则,plist文件数据定义规则
- (4) iphone 开发 自定义UITableViewCell的子类 ,轻松添加图片文本信息等
- (5) iphone 开发 在表视图(UITableView) 中利用UISearchBar实现数据的搜索,视图的多功能化
- (6) iphone 开发 真正理解委托(delegate)与数据源(data source)
- (7)---01 iphone 开发 数据传递 NSNotification 通知机制演示
- (7)---02 iphone 开发 数据传递 : 页面切换与数据的反向传递以及协议(protocol)作用的体现
- (8)---01 iphone 开发 大话分析导航栏NavigationController
- (9) iphone 开发 AppSettings , 系统setting与应用程序setting间的数据控制
- (10) iphone 开发 用户点击,触摸和手势识别 解析