ios - how - swift: Agregue mĂșltiples objetos<clave, valor> a NSDictionary
nsdictionary swift (3)
Estoy tratando de agregar varios objetos a NSDictionary, como
var myDict: NSDictionary = [["fname": "abc", "lname": "def"], ["fname": "ghi", "lname": "jkl"], ...]
¿Es incluso posible hacer esto? Si no, por favor sugiera una mejor manera. Realmente necesito convertir este NSDictionary a la cadena JSON y enviarlo al servidor, por lo que necesito múltiples objetos en NSDictionary.
Definitivamente puedes hacer un diccionario de diccionarios. Sin embargo, necesitas una sintaxis diferente para eso:
var myDictOfDict:NSDictionary = [
"a" : ["fname": "abc", "lname": "def"]
, "b" : ["fname": "ghi", "lname": "jkl"]
, ... : ...
]
Sin embargo, lo que tienes parece una variedad de diccionarios:
var myArrayOfDict: NSArray = [
["fname": "abc", "lname": "def"]
, ["fname": "ghi", "lname": "jkl"]
, ...
]
Para obtener JSON que se ve así
{"Data": [{"User": myDict1}, {"User": myDict1},...]}
necesitas agregar la matriz anterior a un diccionario, como esto:
var myDict:NSDictionary = ["Data" : myArrayOfDict]
SWIFT 3.0
- Elemento de lista
Después de todo, puedes crear NSArray y luego puedes establecer Array en NSMutableDictionary usando setvalue(forKey:)
método predeterminado.
var arrFname : NSArray!
arrFname = ["abc","xyz","mno"]
var arrLname : NSArray!
arrFname = ["tuv","xuv","swift"]
var dicSet : NSMutableDictionary!
dicSet.setObject(arrFname, forKey : "Fname")
dicSet.setObject(arrLname, forKey : "Lname")
print(dicSet)
var tempDict = NSMutableDictionary()
tempDict.setValue("sam", forKey : "one")
print(tempDict["one"] ?? "1")