在一个屏幕上工作,其中有
UITableView
且可重复使用 UITableViewCell
以及 UIButton
操作
UITableView
的重新加载频率较高(毫秒为两倍),因为重新加载频繁,单元格正在失去用户交互,并且用户很难单击单元格内的 UIButton
因此,寻找另一种方法来实现这个场景。
还有另一种方法来处理频繁的表更新:不要每秒调用
tableView.reloadData()
两次,而是考虑使用以下模式:
for cell in tableView.visibleCells {
(cell as? CustomCell).configure(context: self.dataArray[tableView.indexPathForCell(cell)]
}
这将阻止表视图每秒两次进行重量级完整计算,例如 contentSize 等。仅当您的 dataArray 更新时才调用 reloadData。
如果您不需要显着的表更新,但需要刷新计时器标签之类的内容,那么这将起作用。对于这种操作,全表重新加载绝对是多余的,您只能更新可见内容单元格子视图。