Swift 3构建数组(不知道如何描述)

时间:2017-11-14 10:29:06

标签: ios arrays swift for-loop

首先,抱歉标题不清楚,但我不知道如何描述我的问题或如何搜索它。 (还是初学者)

所以我有一个数组,我需要将值放入。

let heliosDataArray:String = "[{\"timestamp\":\"\(timestamp)\",\"uv\":\"\(uvIndex!)\",\"light\":\"\(lightvalue!)\"}]"

所以在这个“模板”中我需要添加3个值:timestamp,uvIndex和lightValue。到现在为止还挺好。现在我有很多值,对于API调用,我需要多次将这个数组链接到1个数组,有点像主数组。这样做最实用的方法是什么?数据量是可变的,来自CoreData。可能会将值放在数组中。我应该寻找什么?我在考虑一个循环但是更先进?

提前致谢

2 个答案:

答案 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 timestampuvIndexlightvalue

似乎你要问的是一系列词典,首先你需要的是一个你从CoreData获得的值的字典,让我们称之为dayItem

var dayItem = ["timestamp": timestamp, 
               "uv": uvIndex,
               "light": lightValue]

现在创建一个值数组

var dayArray: [[String: Any]] = []
dayArray.append(dayItem)

每次要添加新项时,只需使用数组的append方法