【问题标题】:ios swift large tableview cell data update in every secondios swift大tableview单元格数据每秒更新一次
【发布时间】:2019-04-01 08:23:19
【问题描述】:

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

【问题讨论】:

  • 如果数据是从服务器更新的,则添加观察者以更新 tableview。您需要为新数据调用 API 或有类似套接字的机制来更新数据,因此您可以在 web 调用后简单地更新您的 tableview。

标签: ios swift xcode uitableview swift4


【解决方案1】:

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

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

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

还有你获取服务器数据的代码:

@objc func update() {

}

从服务器接收到数据后,你可以为你的tableView调用reloadData方法,它会刷新你的表格数据。


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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    相关资源
    最近更新 更多