美文网首页
tableview插入删除,方法调用顺序

tableview插入删除,方法调用顺序

作者: VincentHK | 来源:发表于2017-09-12 10:18 被阅读0次

3.主要记录下思路:
3.1>首先理清tableView的数据源方法和代理方法的调用周期
numberOfSectionsInTableView
numberOfRowsInSection
heightForRowAtIndexPath
3.1.1)以上三个方法,系统默认首先按顺序调用两遍以作准备。然后系统就会调用具体的cell的方法:
cellForRowAtIndexPath
更为重要的是:以上三个方法,可以归结为只要有cell的变化(无论新增或删除)都会调用。
3.1.2)系统每调用一次“cellForRowAtIndexPath”方法必会再调用一次“heightForRowAtIndexPath”方法。
3.1.3)“”方法可归结为只要有cell的新增才会调用。没有新增(即删除不会调用)。
3.2>所以“insertRowsAtIndexPaths”方法比如插入两个路径时,只会重新调用“cellForRowAtIndexPath”方法两次,路径为新增加的这两个路径(“indexPath.row”不再是从0开始)
3.2.1)“insertRowsAtIndexPaths”方法时需要注意的问题:插入路径的同时,要同步插入数据,以保证插入后的数据总量正确(比如原来数据为2个,插入两条路径,然后数据也要插入两条,以达到4个数据总量)
3.2.2)“deleteRowsAtIndexPaths”方法时需要注意的问题(删除多个路径时):同样删除路径的时候,要同步删除数据。这个方法是一个一个删除数据的,当删除一个数据后,数据的索引会重新排列,需要特别注意。

4.插入可以看成是一个二级列表的展开。二级列表展开的另一种思路:
4.1>首先可以把第一级列表看成是tableView的多个组(sections)。然后用“viewForHeaderInSection”自定义第一级列表的cell,那么第二级列表就是点击每组所展现的具体rows。

相关文章

网友评论

      本文标题:tableview插入删除,方法调用顺序

      本文链接:https://www.haomeiwen.com/subject/zctcsxtx.html