数组中的可选变量名 - 需要创建一个实例

时间:2016-06-22 13:38:32

标签: ios arrays swift dynamic

我正在使用框架,必须为我的项目更改一些内容。

原作是

      var tree:FBQuadTree? = nil
      ...
      if tree == nil {
        tree = FBQuadTree()
      }

我总是需要定制数量的树木。所以我的考虑是我为此使用了数组。

var tree:[FBQuadTree?] = []
...
if tree[number] == nil {
   tree[number] = FBQuadTree()
}

但我不知道如何填充我的新树阵列。当然,我可以做到。像这样:

let element:FBQuadTree?
layersTree.append(element)

好的,但我的问题是元素数量不是静态的。所以有时只有一个元素,有时甚至更多。

这可能是我想做的吗?

整个事情:

var array:[FBQuadTree] = []

//fill
for i in 0..<MyDynamicSize {
array.append(//how to fill?)
}

//give new values
for i in 0..<MyDynamicSize {
array[i] = FBQuadTree() 
}

2 个答案:

答案 0 :(得分:0)

如果您只想尝试ArraymyDynamicSizeFBQuadTree个实例,可以使用init(repeating:count:)

var array = [FBQuadTree](count: myDynamicSize, repeatedValue: FBQuadTree())

旁注:按照惯例,类型以大写字母开头,而变量名称以小写字母开头。所以myDynamicSize,而不是MyDynamicSize

答案 1 :(得分:-1)

请试试这个

var array:[FBQuadTree?] = []

//fill
for i in 0..<MyDynamicSize {
    array.append(nil)
}