用数组数据填充多维结构数组

时间:2018-09-05 09:11:00

标签: arrays swift

我有一些数组,正在应用程序中填充数据。因此,当我初始化它时,数组在某种程度上是空的。

当我的数组中充满所有必要的数据时,我想将它们保存在多维数组中,以便用此数据填充表,该数据按节进行排序。

但是,我正在努力为该多维数组添加数据。

这是我最终想要在多维数组中包含的内容:

data in myServerInfo: 

serverInfo(
    [ping: "www.apple.com", serverStatusMain: "no data", statusImagesMain: "error"],

    [ping: "www.google.com", serverStatusMain: "no data", statusImagesMain: "error"],

    [ping: "www.amazon.com", serverStatusMain: "no data", statusImagesMain: "error"],

    [ping: "www.bla.com", serverStatusMain: "no data", statusImagesMain: "error"]
    )

我当前的实现如下:

struct serverInfo {
    var pings: String
    var serverStatusMain: String
    var statusImageMain: String
}

var myServerInfo: [[serverInfo]] = []


let pings = ["www.apple.com", "www.google.com", "www.amazon.com", "www.bla.com"]
var statusImagesMain = ["error", "error", "error", "error"]
var serverStatusMain = ["no data", "no data", "no data", "no data"]

for i in serverStatusMain { //
    myServerInfo.append([serverInfo(pings: pings[i], serverStatusMain: serverStatusMain[i], statusImageMain: statusImagesMain[i])])
}

1 个答案:

答案 0 :(得分:1)

您需要像这样添加它。

for i in 0..<serverStatusMain.count {
    myServerInfo.append(serverInfo(pings: pings[i], serverStatusMain: serverStatusMain[i], statusImageMain: statusImagesMain[i]))
}

您犯了2个错误:

  • 您需要i才能使数组的 index 遍历整个数组。

  • 您需要附加一个数组实例,而无需将其包含在[]中。

但是,如果您需要附加数组,则可以使用其他append方法完成。

myServerInfo.append(contentsOf: serverInfoArray) // serverInfoArrat would be an array -> [serverInfo]