J'essaie d'ajouter plusieurs objets à NSDictionary, comme
var myDict: NSDictionary = [["fname": "abc", "lname": "def"], ["fname": "ghi", "lname": "jkl"], ...]
Est-il même possible de faire cela? Si non, s'il vous plaît suggérer un meilleur moyen. En fait, j'ai besoin de convertir ce NSDictionary en chaîne JSON et de l'envoyer au serveur. J'ai donc besoin de plusieurs objets dans NSDictionary.
Vous pouvez certainement faire un dictionnaire de dictionnaires. Cependant, vous avez besoin d'une syntaxe différente pour cela:
var myDictOfDict:NSDictionary = [
"a" : ["fname": "abc", "lname": "def"]
, "b" : ["fname": "ghi", "lname": "jkl"]
, ... : ...
]
Ce que vous avez ressemble à un tableau de dictionnaires, cependant:
var myArrayOfDict: NSArray = [
["fname": "abc", "lname": "def"]
, ["fname": "ghi", "lname": "jkl"]
, ...
]
Pour obtenir un JSON qui ressemble à ceci
{"Data": [{"User": myDict1}, {"User": myDict1},...]}
vous devez ajouter le tableau ci-dessus à un dictionnaire, comme ceci:
var myDict:NSDictionary = ["Data" : myArrayOfDict]
Swift 3.0
Tout d’abord, vous pouvez créer NSArray et ensuite vous pouvez définir un tableau dans NSMutableDictionary en utilisant la méthode setvalue(forKey:)
par défaut.
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)