【问题标题】:How to store array data to struct?如何将数组数据存储到结构中?
【发布时间】:2021-06-10 13:38:57
【问题描述】:

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

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

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

【问题讨论】:

  • 很不清楚您想要什么,您能否将预期的最终结果添加到您的问题中?

标签: arrays swift structure


【解决方案1】:

要将多个字符串存储在一个变量中,您应该将其设为一个集合,例如 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!)

更新到期的 cmets:

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

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"]

【讨论】:

  • 但我只想要单个数组。
  • 什么意思?
  • 我的意思是,我只有一个数组,正如我所说的那样
  • 所以您说您需要将前两个元素放入 datas1 并将后两个元素放入 datas2 中?
猜你喜欢
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
  • 2017-06-02
  • 2019-12-22
  • 1970-01-01
  • 2017-01-02
  • 1970-01-01
相关资源
最近更新 更多