创建表视图时,ViewController类采用“UITableViewDelegate”和“UITableViewDataSource”协议。要创建表视图,我们必须从这些协议的方法中受益。我理解这一点。
但是,在创建表视图时,我们还选择tableview-data source和tableview-delegate选项,并通过拖动将它们与ViewController类匹配。这些是在storyboard文件中执行的。
为什么这个匹配过程很重要?
为什么我们要执行此匹配过程?
答案 0 :(得分:3)
您不需要遵守这两个协议,也不需要在delegate
中设置dataSource
和Storyboard
,它可以以编程方式完成好。
如果您使用的UITableView
ViewController
不是子类UITableViewController
,则只需执行此操作。 UITableViewController
会自动为您提供符合这两种协议的协议。
您需要将delegate
/ dataSource
设置为某个ViewController
,因为系统需要知道哪个类'设置表格视图时需要调用的delegate
/ dataSource
个方法。如果在同一个Storyboard
中有多个具有表视图的视图控制器,而没有将委托/ dataSource设置为当前视图控制器,则系统将不知道需要为哪个表视图调用哪个类
符合UITableViewDelegate
协议是可选的,如果您只需要在表格视图上显示数据,但不需要用户与其进行互动,则只需符合UITableViewDataSource
协议。这是为了在表格视图中设置部分/单元格的数量以及设置这些部分/单元格的内容。