UIPickerView委托和数据源的责任分工

时间:2011-04-04 18:40:35

标签: cocoa-touch uikit

了解UIPickerView以及如何在委托中处理某些方法以及在数据源中处理某些方法。

委托处理的方法:

绘制项目矩形的方向, pickerView:titleForRow:forComponent 行值(字符串或视图)

数据源处理的方法:

组件数量, pickerView:numberOfRowsInComponent, numberOfComponentsInPickerView

问题: 是否有一种简单的方法可以记住委托处理哪些方法以及哪些方法由数据源处理? 为什么一些UIPickerView方法由委托处理,一些由数据源处理,为什么它们在这两种方式之间划分?

提前致谢。

1 个答案:

答案 0 :(得分:1)

UIPickerView和UITableView在支持委托和数据源对象方面共享一个非常相似的设计。委托对象通常使用选择器/表处理用户交互(或用户交互的后果),而数据源对象(如名称所示)提供选择器/表视图的规范和内容。

实际上,您通常将包含UIViewController的代理和数据源都包含在视图控制器中并实现这两组协议方法。