Saltar al contenido

¿Cómo agregar elementos a un diccionario en Swift?

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 NSDictionarypá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 .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *