NSDictionaryに複数のオブジェクトを追加しようとしています
var myDict: NSDictionary = [["fname": "abc", "lname": "def"], ["fname": "ghi", "lname": "jkl"], ...]
これを行うことさえ可能ですか?そうでない場合は、より良い方法を提案してください。実際にこのNSDictionaryをJSON文字列に変換してサーバーに送信する必要があるため、NSDictionaryに複数のオブジェクトが必要です。
辞書の辞書を間違いなく作成できます。ただし、そのためには別の構文が必要です。
var myDictOfDict:NSDictionary = [
"a" : ["fname": "abc", "lname": "def"]
, "b" : ["fname": "ghi", "lname": "jkl"]
, ... : ...
]
ただし、辞書のarrayのように見えます:
var myArrayOfDict: NSArray = [
["fname": "abc", "lname": "def"]
, ["fname": "ghi", "lname": "jkl"]
, ...
]
このようなJSONを取得するには
{"Data": [{"User": myDict1}, {"User": myDict1},...]}
次のように、上記の配列を辞書に追加する必要があります。
var myDict:NSDictionary = ["Data" : myArrayOfDict]
Swift 3.
NSArrayを作成して、setvalue(forKey:)
defaultメソッドを使用してNSMutableDictionaryに配列を設定できます。
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)