簡體   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