2016-06-22 2 views
-2

Ich arbeite mit einem Framework und muss einige Dinge für mein Projekt ändern.optionale Variablennamen im Array - muss eine Instanz erstellen

Das Original ist

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

Ich brauche immer eine benutzerdefinierte Anzahl von Bäumen. Meine Überlegung war, dass ich dafür ein Array verwende.

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

Aber ich weiß nicht, wie ich meine neue Tree-Array füllen. Klar könnte ich sowas machen. wie folgt:

let element:FBQuadTree? 
layersTree.append(element) 

Okay, aber mein Problem ist, dass die Anzahl der Elemente nicht statisch ist. Manchmal gibt es nur ein Element, manchmal viel mehr.

Ist das möglich, was ich tun möchte?

das Ganze:

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() 
} 

Antwort

-1

bitte versuchen Sie es mit diesen

var array:[FBQuadTree?] = [] 

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

Wenn Sie nur eine Array einer myDynamicSize * Anzahl der FBQuadTree Instanzen zu erhalten versuchen, können Sie init(repeating:count:) verwenden.

Hinweis: Per Konvention beginnen Typen mit Großbuchstaben, während Variablennamen mit Kleinbuchstaben beginnen. Also myDynamicSize, anstatt MyDynamicSize

Verwandte Themen