如何将数组数据存储到结构中?

How to store array data to struct?

我想在 datas1 中存储“1”和“2”,在 datas2 中存储“3”和“4”。

struct Datas {
    let datas1: String
    let datas2: String
}

 var datas : [String] = ["1","2","3","4"]

要在一个变量中存储多个字符串,您应该使它成为一个集合,如 array

struct Datas {
    let datas1: [String]
    let datas2: [String]
}

然后你可以像这样分配它们:

var datas = Datas(
    datas1: ["1","2"],
    datas2: ["3","4"]
    // TODO: Don't forget to handle the rest of elements!)

更新到期评论:

您可以定义一个接受数组并构建结构的自定义初始化程序:

extension Datas {
    init(array: [String]) {
        datas1 = Array(array.prefix(2))
        datas2 = Array(array.suffix(2))
    }
}

用法:

let datas = Datas(array: ["1", "2", "3", "4"])

对数据结构本身的看法:

看来二维数组更适合这些数据:

let datas: [[String]] = [["1", "2"],["3", "4"]]

用法:

print(datas[0]) // ["1", "2"]
print(datas[1]) // ["3", "4"]