很抱歉在这里提出这类简单的问题。
但我是iOS开发的新手:(我也试着谷歌找到我的答案,但我没有得到它。
我的问题是在创建完整的TableView之后调用UITableView
的哪种协议方法?
我的意思是在创建UITableView
时,然后调用UITableViewDataSource
方法,例如,
配置表格视图
– tableView:cellForRowAtIndexPath: required method
– numberOfSectionsInTableView:
– tableView:numberOfRowsInSection: required method
– sectionIndexTitlesForTableView:
– tableView:sectionForSectionIndexTitle:atIndex:
– tableView:titleForHeaderInSection:
– tableView:titleForFooterInSection:
等...
但我想知道在没有任何UITableView交互的情况下创建完整的TableView(或调用上面的方法)之后UITableView调用哪个方法?
所以,请帮帮我
答案 0 :(得分:1)
由于Apple的文档中没有指定订单,因此您无法安全地假设它们将始终以相同的顺序调用,并且在您的实现中做出这样的假设通常不是一个好主意。
例如,不会为所有行调用cellForRowAtIndexPath。它仅被调用可见行,然后在用户滚动到它们时调用其他行。旧行在离开屏幕时也会被破坏,如果用户向上滚动,它将再次请求单元格。
但总的来说,我们可以假设一些调用顺序:
– numberOfSectionsInTableView: (...Optional method...)
– sectionIndexTitlesForTableView: (...Optional method...)
– tableView:titleForHeaderInSection: (...Optional method...)
– tableView:titleForFooterInSection: (...Optional method...)
– tableView:numberOfRowsInSection: (...Compulsory method...)
– tableView:cellForRowAtIndexPath: (...Compulsory method...)
答案 1 :(得分:1)
为了创建UITable,必须调用所有必需的方法。即。
– tableView:cellForRowAtIndexPath:
– tableView:numberOfRowsInSection:
当然这些是数据源方法。但是在创建表之后,在重新加载表之前,这个方法都没有调用。 如果您想要在创建tableview之后调用的方法,则必须查找委托方法,如:
– tableView:willSelectRowAtIndexPath:
– tableView:didSelectRowAtIndexPath:
– tableView:willDeselectRowAtIndexPath:
– tableView:didDeselectRowAtIndexPath: