Modificar una serie de diccionarios en Swift
Soy nuevo en Swift y he tenido algunos problemas para descubrir algunos aspectos de las matrices y los diccionarios.
Tengo una gran variedad de diccionarios, para los cuales he usado alias de tipo, p.
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]
]
Luego quiero iterar a través de los diccionarios en la matriz y cambiar el valor clave de "distancia". Lo hice así:
for dict:myDicts in myArray {
dict["distance"] = 5
}
O incluso específicamente asegurarse de que 5 sea un doble con muchos enfoques diferentes, incluidos, p.
for dict:myDicts in myArray {
let numberFive : Double = 5
dict["distance"] = numberFive
}
Todos mis intentos causan un error:
@lvalue $T5' is not identical to '(String, Double)
Parece estar actuando como si los Diccionarios dentro fueran inmutables "let" en lugar de "var". Así que al azar intenté esto:
for (var dict:myDicts) in myArray {
dict["distance"] = 5
}
Esto elimina el error y, de hecho, la clave se asigna 5 dentro del bucle for, pero esto no parece modificar realmente la matriz a largo plazo. ¿Qué estoy haciendo mal?