我有一些数组,正在应用程序中填充数据。因此,当我初始化它时,数组在某种程度上是空的。
当我的数组中充满所有必要的数据时,我想将它们保存在多维数组中,以便用此数据填充表,该数据按节进行排序。
但是,我正在努力为该多维数组添加数据。
这是我最终想要在多维数组中包含的内容:
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])])
}
答案 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]