Initialisieren von leeren Arrays von Wörterbüchern in Swift

Ich versuche meinen Kopf darum zu legen, leere Arrays in Swift zu initialisieren.

Für eine Reihe von Zeichenfolgen ist es ziemlich einfach:

var myStringArray: String[] = []
myStringArray += "a"
myStringArray += "b"

-> ["a", "b"]

und für ganze Zahlen

var myIntArray: Int[] = []
myIntArray += 1
myIntArray += 2

-> [1, 2]

Es funktioniert auch für andere Objekttypen wie NSImage-Objekte:

let path = "/Library/Application Support/Apple/iChat Icons/Flags/"
let image1 = NSImage(byReferencingFile: path + "Brazil.png")
let image2 = NSImage(byReferencingFile: path + "Chile.png")

var myImageArray: NSImage[] = []
myImageArray += image1
myImageArray += image2

-> [<NSImage 0x7fe371c199f0 ...>, <NSImage 0x7fe371f39ea0 ...>]

Allerdings kann ich die Syntax zum Initialisieren eines leeren Arrays von Wörterbüchern nicht ausarbeiten.

Ich weiß, dass Sie eine Reihe von Wörterbüchern haben können, da die Initialisierung mit einem Anfangswert funktioniert:

let myDict1 = ["someKey":"someValue"]
let myDict2 = ["anotherKey":"anotherValue"]

var myDictArray = [myDict1]
myDictArray += myDict2

-> [["someKey": "someValue"], ["anotherKey": "anotherValue"]]

Dies schlägt jedoch fehl (was man von der Syntax erwarten würde):

var myNewDictArray: Dictionary[] = []

mit dem FehlerCannot convert the expression's type 'Dictionary[]' to type 'Hashable'

Die Frage ist also, wie ein leeres Array von Dictionary Items korrekt initialisiert werden kann und warum diese Syntax nichtvar myNewDictArray: Dictionary[] = [] Arbeit?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage