我在中有项目tableview,并且我想重新加载或更新tableview数据,但tableview的第一行或第一indexpath除外。
tableview
let visibleIndex = self.tableView.visibleCells.compactMap { tableView.indexPath(for: $0) } self.tableView.reloadRows(at: visibleIndex, with: .automatic)
但是,这将重新加载所有可见单元格,我如何重新加载除第一行以外的所有可见单元格
查看更多
无需获取可见的单元格。使用indexPathsForVisibleRows并删除第0节第0行的索引路径。
indexPathsForVisibleRows
let allButFirst = (self.tableView.indexPathsForVisibleRows ?? []).filter { $0.section != 0 || $0.row != 0 } self.tableView.reloadRows(at: allButFirst, with: .automatic)
但是,有可能
Cell
在另一个indexPath上找到被忽略的数据项。例如,一个["Food","Sleep","Code"]
填充到表视图中的名称列表 ,现在,第一个索引(即Food)已移到顶部,并阻止了其更新,但仍然希望看到Food再次出现在最后一个或不是第一个indexPath