为UITableView设置数据源和委托的最佳实践

时间:2013-12-16 23:57:37

标签: xcode oop delegates datasource

这个问题可能没有直接的答案,但我很好奇其他人的想法。我有一个UIViewController,里面有2个对象,UIView和UITableView。每个对象都是自己的自定义类。我的问题是关于UITableView,什么对象应该是数据源和委托。现在我将UIViewController设置为那些卷,但是将对象本身设置为数据源和委托可能会使用方法awakeFromNib来设置这两个源。这两种方式都可以吗?我认为将数据和委托设置为代表tableview的类将使代码远离视图控制器,我认为这将是一件好事......但也许不是......

1 个答案:

答案 0 :(得分:1)

实际上是个好问题。

将控制器视为四人帮的中介模式的一个例子:它调解了视图和模型之间的关系。大多数网络世界已经开始使用某种类型的绑定,因此您通常会看到模型对象“直接”绑定到视图层,例如文本编辑字段可能有一个表达式,指示它正在编辑的域对象中的哪个字段,然后框架将提供编组和解组该数据的服务。

在Cocoa中,您通常不这样做:绑定到Controller中的属性,然后通常用于转换底层域类。因此,例如,如果您制作故事板并制作表单并拥有自定义控制器,那么现在您要编辑某个实体的名称,例如用户,你将CTRL-从编辑框拖动到源,它将成为一个插座,这将使您不仅可以控制该框中显示的内容,还可以控制控件本身。然后你可以添加一个提交按钮和CTRL-drag来创建一个方法,用于保存,当点击它时,你可以更新底层的用户实例。