首页 > 解决方案 > ios swift大tableview单元格数据每秒更新一次

问题描述

如果我创建一个包含大量数据单元的表格视图,需要每秒更新一次,这取决于服务器数据。我们如何获取数据并每秒同时更新它?

标签: iosswiftxcodeuitableviewswift4

解决方案


这取决于您尝试实现的用例。

虽然您可以简单地使用Timer, 来实现您想要实现的目标,即

let timer = Timer.scheduledTimer(timeInterval: 0.4, target: self, selector: #selector(update), userInfo: nil, repeats: true)

以及您用于获取服务器数据的代码:

@objc func update() {

}

从服务器接收数据后,您可以调用reloadDatatableView 的方法,它会刷新您的表数据。


但这可能不是一个好方法,因为它会增加设备上的内存负载,并且会浪费电池、CPU 和数据等资源。

您可能需要重新考虑您的架构。可能的建议是:

  1. 重新加载仅显示在 UI 上的表行。
  2. 使用 delta 变量仅加载服务器上已更改的行。
  3. 让服务器决定哪些行需要更新。使用 Pusher 和 Firebase 实时数据库等工具来实现相同的目的。

只有在我获得有关您的要求的更多背景信息时才能提供帮助。


推荐阅读