web-dev-qa-db-ja.com

NSDictionaryをSwift辞書に変換

今、私はSwiftコンパイル時にNSDictionaryを作成するだけですが、NSDictionaryとSwift辞書は異なる構文を持っていることを知っています。 NSDictionaryをSwift <key, value>の同じタイプの辞書に変換する)

OR

これをNSDictionaryではなくSwift辞書に変換する方法はありますか?

let jsonDict = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary
42
cclloyd

つかいます:

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

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

NSDictionaryDictionaryはほぼ交換可能です。必要はありませんが、はい、できます:

let jsonDict = (NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary) as Dictionary
3
Oxcug