数据源和代理选项

时间:2017-08-14 10:14:12

标签: ios swift

创建表视图时,ViewController类采用“UITableViewDelegate”和“UITableViewDataSource”协议。要创建表视图,我们必须从这些协议的方法中受益。我理解这一点。

但是,在创建表视图时,我们还选择tableview-data source和tableview-delegate选项,并通过拖动将它们与ViewController类匹配。这些是在storyboard文件中执行的。

为什么这个匹配过程很重要?

为什么我们要执行此匹配过程?

1 个答案:

答案 0 :(得分:3)

您不需要遵守这两个协议,也不需要在delegate中设置dataSourceStoryboard,它可以以编程方式完成好。

如果您使用的UITableView ViewController不是子类UITableViewController,则只需执行此操作。 UITableViewController会自动为您提供符合这两种协议的协议。

您需要将delegate / dataSource设置为某个ViewController,因为系统需要知道哪个类'设置表格视图时需要调用的delegate / dataSource个方法。如果在同一个Storyboard中有多个具有表视图的视图控制器,而没有将委托/ dataSource设置为当前视图控制器,则系统将不知道需要为哪个表视图调用哪个类

符合UITableViewDelegate协议是可选的,如果您只需要在表格视图上显示数据,但不需要用户与其进行互动,则只需符合UITableViewDataSource协议。这是为了在表格视图中设置部分/单元格的数量以及设置这些部分/单元格的内容。