首先,很抱歉标题不清楚,但我不知道如何描述我的问题或如何搜索它。(还是初学者(
所以我有一个数组,我需要在其中输入值。
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)
每次要附加新项目时,只需使用数组的append
方法