Jetzt weiß ich, dass beim Kompilieren von Swift nur ein NSDictionary erstellt wird, aber das NSDictionary und Swift die Wörterbücher haben eine andere Syntax. Gibt es einen Weg (durch eine Schleife oder etwas), um ein NSDictionary in ein Swift Dictionary desselben Typs für <key, value>
?
OR
Gibt es eine Möglichkeit, dies in ein Swift Dictionary anstelle von NSDictionary zu konvertieren?
let jsonDict = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary
verwenden:
let jsonDic = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers, error: &error) as Dictionary<String, AnyObject>;
Ich fand Antwort von http://www.Swift-studies.com/blog/2014/6/6/loading-a-Swift-dictionary-from-a-plist-file
var swiftDict : Dictionary<String,AnyObject!> = Dictionary<String,AnyObject!>()
for key : AnyObject in ocDictionary.allKeys {
let stringKey = key as String
if let keyValue = ocDictionary.valueForKey(stringKey){
swiftDict[stringKey] = keyValue
}
}
NSDictionary
und Dictionary
sind so ziemlich austauschbar. Das ist also nicht nötig, aber Sie können:
let jsonDict = (NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary) as Dictionary