转换的NSDictionary斯威夫特词典

问题描述 投票:41回答:3

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

要么

有没有办法将其转换为一个斯威夫特字典而不是NSDictionary的?

let jsonDict = NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary
dictionary swift nsdictionary nsmutabledictionary
3个回答
27
投票

采用:

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

4
投票

我找到答案从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
    }
}

3
投票

NSDictionaryDictionary是几乎可以互换。因此,有没有必要,而且是您可以:

let jsonDict = (NSJSONSerialization.JSONObjectWithData(jsonData, options: nil, error: &error) as NSDictionary) as Dictionary
© www.soinside.com 2019 - 2024. All rights reserved.