我对将单元格插入表格视图有些困惑。
当我调用tableView.insertRows(at: [indexPath], with: .left)
tableView
之后没有立即更新时,在被调用的函数内部。我认为这称为一些相关的委托和数据源方法,但是哪些方法呢?
我还看到有些人用insertRows
和tableView.beginUpdates()
叫tableView.endUpdates()
。如果在没有这两种方法的情况下进行更新,为什么我们需要这样做?
答案 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()
>