gpt4 book ai didi

ios - 将字典映射到 ios 中的 TableView ?

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:19 24 4
gpt4 key购买 nike

我试图用服务器以无序 Dictionary<symbol, price> 形式提供的实时股票行情数据填充一个 TableView 。 , 即 -

{
"APPL":94.02,
"GOOG":683.00,
"FB":104.07
}

我想要做的是每隔一秒左右获取新的股票数据,将检索到的数据与我的模型进行比较,并且只更新已更改的特定表格单元格。但是,我不确定更新特定单元格的最佳方法是什么,因为数据是无序的,而 TableView 是基于索引的。

看来我的选择是:

  1. 创建中间体 [symbol:index]字典来存储索引位置,以便我以后可以引用和更新它们

  2. 将获取的数据转换为值数组,对其进行排序,对我的模型执行差异以查找已更改的索引,然后使用 reloadRowsAtIndexPaths

选项 1 似乎可行,但不够灵活。稍后将没有简单的方法对我的表格行进行排序。选项 2 似乎站不住脚。它基于传入数据永远不会更改的假设。每次更新都执行此操作似乎也会占用大量资源。

有没有更好的方法来处理无序数据类型 -> TableView 映射?

最佳答案

不用担心价格字典没有排序。只需按照您想要的顺序排列一组股票代码(例如,一个名为 tickerSymbols 的数组和 ["APPL", "FB", "GOOG"])。然后 cellForRowAtIndexPath 可以做类似的事情:

let tickerSymbol = tickerSymbols[indexPath.row]
if let price = stockPrices[tickerSymbol] {
// update cell with `price`
}

从字典中检索内容的效率足够高,在大多数情况下,上述内容应该工作得相当好。

关于ios - 将字典映射到 ios 中的 TableView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35900405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com