resumen pelicula libro latino fahrenheit español bradbury analisis swift nsdictionary

swift - pelicula - fahrenheit 451 ray bradbury



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

Tengo un diccionario simple que se define como:

var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]

Ahora quiero agregar un elemento en este diccionario: 3 : "efg"

¿Cómo puedo agregar 3 : "efg" en este diccionario existente?


A partir de Swift 5, funciona la siguiente colección de códigos.

// main dict to start with var myDict : Dictionary = [ 1 : "abc", 2 : "cde"] // dict(s) to be added to main dict let myDictToMergeWith : Dictionary = [ 5 : "l m n"] let myDictUpdated : Dictionary = [ 5 : "lmn"] let myDictToBeMapped : Dictionary = [ 6 : "opq"] myDict[3]="fgh" myDict.updateValue("ijk", forKey: 4) myDict.merge(myDictToMergeWith){(current, _) in current} print(myDict) myDict.merge(myDictUpdated){(_, new) in new} print(myDict) myDictToBeMapped.map { myDict[$0.0] = $0.1 } print(myDict)


Dados dos diccionarios como a continuación:

var dic1 = ["a": 1, "c": 2] var dic2 = ["e": 3, "f": 4]

Así es como puede agregar todos los elementos de dic2 a dic1 :

dic2.map { dic1[$0.0] = $0.1 }

Saludos A.


En Swift, si está usando NSDictionary , puede usar setValue :

dict.setValue("value", forKey: "key")


Estás usando NSDictionary . A menos que explícitamente necesite que sea de ese tipo por alguna razón, le recomiendo usar un diccionario Swift.

Puede pasar un diccionario Swift a cualquier función que espere NSDictionary sin ningún trabajo adicional, porque Dictionary<> y NSDictionary se NSDictionary perfectamente 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 la clave y String como el valor, no puede usar claves y valores por error. (El compilador verifica los tipos en su nombre).

Según lo que veo en su código, su diccionario usa Int como clave y String como 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<Int, String> dict[3] = "efg"

Si luego necesita asignarlo a una variable de tipo NSDictionary , simplemente realice una conversión explícita:

let nsDict = dict as! NSDictionary

Y, como se mencionó anteriormente, si desea pasarlo a una función que espera NSDictionary , páselo como está sin ningún tipo de conversión o conversión.


Hasta ahora, la mejor manera que he encontrado para agregar datos a un diccionario mediante el uso de una de las funciones de orden superior de Swift, es decir, "reducir". Siga el fragmento de código a continuación:

newDictionary = oldDictionary.reduce(*newDictionary*) { r, e in var r = r; r[e.0] = e.1; return r }

@ Dharmesh En su caso, será,

newDictionary = dict.reduce([3 : "efg"]) { r, e in var r = r; r[e.0] = e.1; return r }

Avíseme si encuentra algún problema al usar la sintaxis anterior.


No hay función para agregar los datos en el diccionario. Simplemente asigna el valor a la nueva clave en el diccionario existente. automáticamente agregará valor al diccionario.

var param = ["Name":"Aloha","user" : "Aloha 2"] param["questions"] = "Are you mine?" print(param)

La salida será como

["Nombre": "Aloha", "usuario": "Aloha 2", "preguntas": "" ¿Eres mío "?"]


Para agregar nuevos elementos simplemente configure:

listParrameters["your parrameter"] = value


Para los becarios que usan [String:Any] lugar de Dictionary continuación, se encuentra la extensión

extension Dictionary where Key == String, Value == Any { mutating func append(anotherDict:[String:Any]) { for (key, value) in anotherDict { self.updateValue(value, forKey: key) } } }

Feliz anexión!


Sé que esto podría llegar muy tarde, pero puede resultar útil para alguien. Entonces, para agregar pares de valores clave a los diccionarios en swift, puede usar el método updateValue (value:, forKey:) de la siguiente manera:

var dict = [ 1 : "abc", 2 : "cde"] dict.updateValue("efg", forKey: 3) print(dict)


Si su diccionario es Int a String , puede hacer simplemente:

dict[3] = "efg"

Si quiere decir agregar elementos al valor del diccionario, una posible solución:

var dict = Dictionary<String, Array<Int>>() dict["key"]! += [1] dict["key"]!.append(1) dict["key"]?.append(1)


puede agregar de la siguiente manera y cambiar Dictionary a NSMutableDictionary

dict["key"] = "value"


si desea modificar o actualizar NSDictionary, primero escriba todo como NSMutableDictionary

let newdictionary = NSDictionary as NSMutableDictionary

entonces simplemente use

newdictionary.setValue(value: AnyObject?, forKey: String)


Dict.updateValue actualiza el valor de la clave existente del diccionario o agrega un nuevo par clave-valor nuevo si la clave no existe.

Ejemplo-

var caseStatusParams: [String: AnyObject] = ["userId" : UserDefault.userID ] caseStatusParams.updateValue("Hello" as AnyObject, forKey: "otherNotes")

Resultado-

▿ : 2 elements - key : "userId" - value : 866 ▿ : 2 elements - key : "otherNotes" - value : "Hello"


SWIFT 3 - XCODE 8.1

var dictionary = [Int:String]() dictionary.updateValue(value: "Hola", forKey: 1) dictionary.updateValue(value: "Hello", forKey: 2) dictionary.updateValue(value: "Aloha", forKey: 3)

Entonces, tu diccionario contiene:

diccionario [1: Hola, 2: Hola, 3: Aloha]


Swift 3+

Ejemplo para asignar nuevos valores al Diccionario. Debe declararlo como NSMutableDictionary:

var myDictionary: NSMutableDictionary = [:] let newValue = 1 myDictionary["newKey"] = newValue print(myDictionary)


var dict = ["name": "Samira", "surname": "Sami"] // Add a new enter code herekey with a value dict["email"] = "[email protected]" print(dict)