将单元格插入表视图后,哪个方法调用

时间:2019-02-16 11:13:23

标签: ios swift uitableview swift4

我对将单元格插入表格视图有些困惑。

当我调用tableView.insertRows(at: [indexPath], with: .left) tableView之后没有立即更新时,在被调用的函数内部。我认为这称为一些相关的委托和数据源方法,但是哪些方法呢?

我还看到有些人用insertRowstableView.beginUpdates()tableView.endUpdates()。如果在没有这两种方法的情况下进行更新,为什么我们需要这样做?

2 个答案:

答案 0 :(得分:2)

numberOfRows && cellForRowAt在插入时被调用,您需要开始和结束更新,以防止随后对numberOfRows的调用,以防万一您对插入/删除有大量调用,以避免诸如number ofRows之类的异常。添加/删除

后,更新前的行/节不相等

现在建议使用

https://developer.apple.com/documentation/uikit/uitableview/2887515-performbatchupdates

内部

https://developer.apple.com/documentation/uikit/uitableview/1614908-beginupdates

答案 1 :(得分:0)

将调用Tableview DataSource方法,以开始一系列方法调用,以插入,删除或选择表视图的行和节,您需要先依次调用beginUpdates()endUpdates()

Apple's documentation