Luego de mucho luchar pudimos encontrar el resultado de esta dificultad que ciertos de nuestros lectores de nuestro sitio web tienen. Si deseas compartir algún detalle no dejes de compartir tu comentario.
estas usando NSDictionary
. A menos que necesite explícitamente que sea de ese tipo por algún motivo, le recomiendo usar un diccionario Swift.
Puede pasar un diccionario Swift a cualquier función esperando NSDictionary
sin ningún trabajo extra, porque Dictionary<>
y NSDictionary
puente sin problemas entre sí. La ventaja de la forma nativa de Swift es que el diccionario usa tipos genéricos, por lo que si lo define con Int
como el key y String
como el valor, no se puede utilizar por error keys y valores de diferentes tipos. (El compilador verifica los tipos en su nombre).
Según lo que veo en su código, su diccionario usa Int
como el key y String
como el valor. Para crear una instancia y agregar un elemento más adelante, puede usar este código:
var dict = [1: "abc", 2: "cde"] // dict is of type Dictionary
dict[3] = "efg"
Si luego necesita asignarlo a una variable de NSDictionary
escriba, solo haga un lanzamiento explícito:
let nsDict = dict as! NSDictionary
Y, como se mencionó anteriormente, si desea pasarlo a una función que espera NSDictionary
páselo tal como está sin ningún tipo de conversión o conversión.
puede agregar de la siguiente manera y cambiar Dictionary
para NSMutableDictionary
dict["key"] = "value"
Sé que esto puede llegar muy tarde, pero puede resultar útil para alguien. Entonces para agregar key pares de valores a diccionarios en Swift, puede usar updateValue(valor: , forKey: ) método de la siguiente manera:
var dict = [ 1 : "abc", 2 : "cde"]
dict.updateValue("efg", forKey: 3)
print(dict)
Recuerda algo, que tienes autorización de agregar una reseña .