Ich versuche, mehrere Objekte zu NSDictionary hinzuzufügen, wie z
var myDict: NSDictionary = [["fname": "abc", "lname": "def"], ["fname": "ghi", "lname": "jkl"], ...]
Ist das überhaupt möglich? Wenn nicht, schlagen Sie bitte einen besseren Weg vor. Ich muss dieses NSDictionary tatsächlich in eine JSON-Zeichenfolge konvertieren und an den Server senden, daher brauche ich mehrere Objekte in NSDictionary.
Sie können definitiv ein Wörterbuch für Wörterbücher erstellen. Dafür benötigen Sie jedoch eine andere Syntax:
var myDictOfDict:NSDictionary = [
"a" : ["fname": "abc", "lname": "def"]
, "b" : ["fname": "ghi", "lname": "jkl"]
, ... : ...
]
Was Sie haben, sieht aus wie ein Array von Wörterbüchern:
var myArrayOfDict: NSArray = [
["fname": "abc", "lname": "def"]
, ["fname": "ghi", "lname": "jkl"]
, ...
]
Um JSON zu erhalten, sieht das so aus
{"Data": [{"User": myDict1}, {"User": myDict1},...]}
sie müssen das obige Array wie folgt zu einem Wörterbuch hinzufügen:
var myDict:NSDictionary = ["Data" : myArrayOfDict]
Swift 3.0
Erstmal können Sie NSArray erstellen. Anschließend können Sie das Array in NSMutableDictionary mit der setvalue(forKey:)
-Standardmethode festlegen.
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)