现在我知道,当迅速编译它只是使一个的NSDictionary,但NSDictionary中和斯威夫特的字典有不同的语法。有没有一种方法(通过循环或东西)到NSDictionary中转换为相同类型<key, value>
的迅速词典吗?
要么
有没有办法将其转换为一个斯威夫特字典而不是NSDictionary的?
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