今、私はSwiftコンパイル時にNSDictionaryを作成するだけですが、NSDictionaryとSwift辞書は異なる構文を持っていることを知っています。 NSDictionaryをSwift <key, value>
の同じタイプの辞書に変換する)
OR
これをNSDictionaryではなくSwift辞書に変換する方法はありますか?
let jsonDict = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary
つかいます:
let jsonDic = NSJSONSerialization.JSONObjectWithData(jsonData, options: NSJSONReadingOptions.MutableContainers, error: &error) as Dictionary<String, AnyObject>;
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
とDictionary
はほぼ交換可能です。必要はありませんが、はい、できます:
let jsonDict = (NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary) as Dictionary