【发布时间】:2016-11-12 18:41:25
【问题描述】:
这是我在这里的第一个问题,如果不是很清楚,请原谅我。
我正在尝试快速创建一个数组,该数组将存储数组数组或整数。 数组应该是我将使用的数据的简单表示,它基本上是一种树状的数据结构,就像这样......
数组 = [ [[ [2, 3] ], [ 1, 4 ], [ 2 ]], [ 2 ], [[2, 5], [6, 1] ], 3 ]
总的来说,数组是分支,整数是叶子
我尝试过像这样将它们声明为可选项
var test2 = [[[Int]?]?]()
或者使用 typedef,但我仍然无法让它工作。
此外,应该可以向任何数组添加新叶子
【问题讨论】:
-
你为什么不定义一棵树?这会容易得多。
-
var test2 = [Any]()
-
@shallowThought 我想过类似的事情,但我使用的是 AnyObject 而不是 Any。这似乎适用于分配部分,但就像我想念自动完成部分一样,这是我想要的。
-
查看 Swift 的枚举。考虑两种选择,一种用于具有关联整数的叶子,另一种用于具有关联数组的分支。采用这种方法,您应该能够准确了解可以进入树的内容,而使用
AnyObject您可以将错误类型的值放入树中。 -
如果你想要一棵树,就创建一棵树。使用
subtree和value属性创建Node结构或类。var value: Int?var subtree: [Node]?
标签: ios xcode tree swift3 dynamic-arrays