除了第一个单元格之外,重新加载 tableview 中所有行的最有效方法是什么?

Big*_*ire 1 uitableview reloaddata ios swift indexpath

我在 a 中有项目tableview,我想重新加载或更新tableview数据,除了 tableview 的第一行或第一个索引路径。

 let visibleIndex = self.tableView.visibleCells.compactMap {  
 tableView.indexPath(for: $0)  }
  self.tableView.reloadRows(at: visibleIndex, with: .automatic)
Run Code Online (Sandbox Code Playgroud)

但是,这会重新加载所有可见单元格,我如何重新加载除第一行之外的所有可见单元格

rma*_*ddy 5

无需获取可见单元格。使用indexPathsForVisibleRows并删除第 0 部分第 0 行的索引路径。

let allButFirst = (self.tableView.indexPathsForVisibleRows ?? []).filter { $0.section != 0 || $0.row != 0 }
self.tableView.reloadRows(at: allButFirst, with: .automatic)
Run Code Online (Sandbox Code Playgroud)