【发布时间】:2015-08-09 19:32:30
【问题描述】:
我正在使用 UITableView 的数据源,我需要一个带有字典的数组。
我尝试创建一个数组,并在这样的 for 循环中用字典填充它。
temporaryDataDict = [:]
temporaryDataDict = ["name":stockName, "ticker":ticker, "lastPrice":lastPrice, "purchasePrice":purchasePrice, "weight":weight, "daysHeld":daysHeld]
temporaryDataArray.append(temporaryDataDict)
当然,当我开始用数据源填充我的 tableView 时。我最终得到了 23 个完全相同的字典(for 循环中的最后一个)。
这是当然的,因为它每次都在改变字典。
我无法找到将数据保存在字典中的方法,或者每次都以编程方式创建一个新字典(因为它们需要一个新名称,否则它会覆盖数据)。
那么我如何在每次 for 循环运行时以编程方式制作字典,然后获取这些字典的键和值?
还是我完全错了?
如果有帮助,这就是我正在使用的数据类型。
我有一个包含 6 个属性的库存(或项目)。所以我认为拥有一个数组是最有意义的,其中数组中的每个项目都是“股票”作为包含 6 个属性的字典。
那么是否可以让 swift 自动为我创建这些词典?因为我不知道需要多少字典。
附言。 我知道这就是 CoreData 的用途。我正在使用这些数组和字典稍后填写我的 CoreData。
如果上述方法不可行,我知道我可能可以创建一个新的 CoreData 实体来完成我想要的,但这似乎不是最好的方法。
任何帮助将不胜感激!谢谢
【问题讨论】:
-
你为什么不为你需要的数据创建一个 Stock 类或结构,而不是将其存储在字典中?
-
用这六个属性创建一个数据对象(类),而不是六个项目的字典,创建它们然后添加到数组中。
-
感谢 cmets。绝对是要走的路。你们中的任何一个都可以发布一个答案,解释我如何访问类或结构中的特定数据点吗?
-
@MarkL 您能否发布完整的相关代码,例如您正在使用的循环以及您需要股票数组的用途?
标签: ios uitableview swift dictionary