首先,抱歉标题不清楚,但我不知道如何描述我的问题或如何搜索它。 (还是初学者)
所以我有一个数组,我需要将值放入。
let heliosDataArray:String = "[{\"timestamp\":\"\(timestamp)\",\"uv\":\"\(uvIndex!)\",\"light\":\"\(lightvalue!)\"}]"
所以在这个“模板”中我需要添加3个值:timestamp,uvIndex和lightValue。到现在为止还挺好。现在我有很多值,对于API调用,我需要多次将这个数组链接到1个数组,有点像主数组。这样做最实用的方法是什么?数据量是可变的,来自CoreData。可能会将值放在数组中。我应该寻找什么?我在考虑一个循环但是更先进?
提前致谢
答案 0 :(得分:3)
您可以使用面向对象的逻辑:
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)
答案 1 :(得分:2)
你可以通过多种方式做到这一点。其中一个如下所示
假设您有三个值来自coredata timestamp
,uvIndex
和lightvalue
似乎你要问的是一系列词典,首先你需要的是一个你从CoreData获得的值的字典,让我们称之为dayItem
var dayItem = ["timestamp": timestamp,
"uv": uvIndex,
"light": lightValue]
现在创建一个值数组
var dayArray: [[String: Any]] = []
dayArray.append(dayItem)
每次要添加新项时,只需使用数组的append
方法