繁体   English   中英

在不重新加载 Tableview 的情况下,使用 Observer 更新已更改的索引单元格值 iOS Swift

[英]Without reloading Tableview, update the changed index cell values using Observer in iOS Swift

我第一次从 API 响应中收集数组值并将其显示在 tableview 中,我再次从套接字获得相同的响应并重新加载表中的值,但在这里我不需要重新加载整个表,我想更新单元格的哪个值已更改。

这里比较两个数组,索引有变化,只需要更新索引行单元格,而不需要重新加载整个表视图。 旧数组和新数组代码示例

但是如果会更改数据堆栈中的某些 indexPaths,您应该小心,如果它会发生 - 使用tableView.deleteRowstableView.deleteSections 此更新在表和 dataStack 或crash中应该是合格的

let indexPaths = [IndexPath]()
tableView.performBatchUpdates {
    self.tableView.reloadRows(at: indexPaths, with: .none)
}

或者

tableView.beginUpdates()
tableView.reloadRows(at: indexPaths, with: .none)
tableView.endUpdates()

顺便说一句,你可以让你的 indexPaths 像let indexPaths = tableView.indexPathsForVisibleRows一样更新 - 方法的名字很有趣,如果你有套接字我想它会有所帮助,因为你有动态

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM