webentwicklung-frage-antwort-db.com.de

Konvertieren Sie NSDictionary in Swift Dictionary

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
42
cclloyd

verwenden:

let jsonDic = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers, error: &error) as Dictionary<String, AnyObject>;
27
Arno

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
    }
}
4
Yang

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
3
Oxcug