ios - ios swift大tableview单元格数据每秒更新一次
问题描述
如果我创建一个包含大量数据单元的表格视图,需要每秒更新一次,这取决于服务器数据。我们如何获取数据并每秒同时更新它?
解决方案
这取决于您尝试实现的用例。
虽然您可以简单地使用Timer
, 来实现您想要实现的目标,即
let timer = Timer.scheduledTimer(timeInterval: 0.4, target: self, selector: #selector(update), userInfo: nil, repeats: true)
以及您用于获取服务器数据的代码:
@objc func update() {
}
从服务器接收数据后,您可以调用reloadData
tableView 的方法,它会刷新您的表数据。
但这可能不是一个好方法,因为它会增加设备上的内存负载,并且会浪费电池、CPU 和数据等资源。
您可能需要重新考虑您的架构。可能的建议是:
- 重新加载仅显示在 UI 上的表行。
- 使用 delta 变量仅加载服务器上已更改的行。
- 让服务器决定哪些行需要更新。使用 Pusher 和 Firebase 实时数据库等工具来实现相同的目的。
只有在我获得有关您的要求的更多背景信息时才能提供帮助。
推荐阅读
- python - 如何使用 Python 将 API 响应保存到 csv
- python - 路由内部路由 - 在处理第一个请求后调用设置函数
- amazon-web-services - AWS System Manager Parameter Store vs Secrets Manager vs Lambda 中的环境变化,何时使用哪个
- r - 删除以数字开头的df中的所有整体并使用R组合单词的时态
- python - 数据框:如何创建动态引用
- python - 是否可以使用 python 通过眼动仪触发按钮上的 Click 事件?如何?
- c# - C#将类序列化为未标记为可序列化的字节[]
- share - 构建 Visual Studio 项目失败 - 云操作不成功
- python - python:xlsxwriter将数据框+公式添加到excel文件
- meteor - 在 Meteor 应用程序之外使用 Meteor 帐户包