![](/img/trans.png)
[英]Don't know how to access array data inside dictionary [: []], Swift, iOS
[英]Swift 3 build array (Don't know how to describe)
首先,对标题不清表示抱歉,但我不知道如何描述我的问题或如何进行搜索。 (仍然是初学者)
所以我有一个数组需要放置值。
let heliosDataArray:String = "[{\"timestamp\":\"\(timestamp)\",\"uv\":\"\(uvIndex!)\",\"light\":\"\(lightvalue!)\"}]"
因此,在此“模板”中,我需要添加3个值:时间戳记,uvIndex和lightValue。 到现在为止还挺好。 现在我有很多值,对于API调用,我需要多次将此数组链接到1个数组中,有点像一个主数组。 最实用的方法是什么? 数据量是可变的,并且来自CoreData。 可能要先将值放在数组中。 我应该寻找什么? 我在想一个循环,但是想更高级吗?
提前致谢
您可以使用面向对象的逻辑进行处理:
struct Data {
var timestamp: Double?
var lightValue: Double?
var uvIndex: Int?
}
let data1 = Data(timestamp: 13.4, lightValue: 3.4, uvIndex: 4)
let data2 = Data(timestamp: 12.4, lightValue: 2.4, uvIndex: 3)
let data3 = Data(timestamp: 11.4, lightValue: 1.4, uvIndex: 2)
var dataArray = Array<Data>() // or-> var data = [Data]()
dataArray.append(data1)
dataArray.append(data2)
dataArray.append(data3)
您可以通过多种方式执行此操作。 其中之一是显示下面就让我们说,你有从coredata三个值timestamp
, uvIndex
和lightvalue
似乎您要问的是一个字典数组,首先需要的是从CoreData获取的值的字典,我们将其dayItem
var dayItem = ["timestamp": timestamp,
"uv": uvIndex,
"light": lightValue]
现在创建一个值数组
var dayArray: [[String: Any]] = []
dayArray.append(dayItem)
每当您要追加新项目时,只需使用array的append
方法
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.