ndern einer Reihe von Wörterbüchern in Swi

Ich bin neu bei Swift und hatte einige Probleme damit, einige Aspekte von Arrays und Wörterbüchern herauszufinden.

Ich habe eine Reihe von Wörterbüchern, für die ich Typ-Aliase verwendet habe - z. B.

typealias myDicts = Dictionary<String, Double>

var myArray : [myDicts] = [
["id":0,
    "lat”:55.555555,
    "lng”:-55.555555,
    "distance":0],
["id":1,
    "lat": 44.444444,
    "lng”:-44.444444,
    "distance":0]
]

Ich möchte dann die Wörterbücher im Array durchlaufen und den Schlüsselwert "distance" ändern. Ich habe es so gemacht:

for dict:myDicts in myArray {

dict["distance"] = 5

}

Oder stellen Sie sogar sicher, dass 5 ein Double mit vielen verschiedenen Ansätzen ist, einschließlich z. B.

for dict:myDicts in myArray {

let numberFive : Double = 5

dict["distance"] = numberFive

}

Alle meine Versuche verursachen einen Fehler:

 @lvalue $T5' is not identical to '(String, Double)

Es scheint so zu sein, als ob die enthaltenen Wörterbücher unveränderlich "let" und nicht "var" wären. Also habe ich das zufällig ausprobiert:

for (var dict:myDicts) in myArray {

dict["distance"] = 5

}

Dies behebt den Fehler und der Schlüssel wird in der for-Schleife tatsächlich mit 5 belegt, aber dies scheint das Array selbst auf lange Sicht nicht zu verändern. Was mache ich falsch

Antworten auf die Frage(4)

Ihre Antwort auf die Frage