【问题标题】:Multidimensional Arrays in Swift with Different Datatype & Fill it DynamicallySwift中具有不同数据类型的多维数组并动态填充
【发布时间】:2016-09-02 11:14:16
【问题描述】:

如何在 Swift iOS 中动态创建多维 Array?像这样的:

var array = [["A", false, 0], ["B", false, 1], ["C", false, 2], ["D", false, 3]]

我想存储 3 种数据类型 StringBooleanInteger

【问题讨论】:

标签: ios arrays swift multidimensional-array


【解决方案1】:

Array 类型不允许您存储不同类型的元素。您最好为此类数组的元素制作一些数据结构。例如:

struct Data {
    let letter: String
    let condition: Bool
    let id: Int
    init(_ letter: String, _ condition: Bool, _ id: Int) {
        self.letter = letter
        self.condition = condition
        self.id = id
    }
}

然后你可以像这样声明数组:

let array: [Data] = [Data("A", false, 0), Data("B", false, 1), Data("C", false, 2), Data("D", false, 3)]

如果你真的需要使用平面类型,你应该使用Any(或AnyObject)类型:

let array: [[Any]] = [["A", false, 0], ["B", false, 1], ["C", false, 2], ["D", false, 3]]

但是你每次都会遇到类型转换

【讨论】:

  • var 数组 = [["A", false, 0], ["B", false, 1], ["C", false, 2], ["D", false, 3 ]] 这种语法是正确的,但我想在这种类型的数组中动态填充数据。首先为这样的数组声明一个结构,然后动态填充该数组中的数据
猜你喜欢
  • 2015-07-10
  • 1970-01-01
  • 2017-10-12
  • 2015-07-29
  • 2016-06-08
  • 2014-02-01
  • 2013-04-28
  • 1970-01-01
  • 2016-08-07
相关资源
最近更新 更多