在swift中将AnyObject转换为Dictionary

时间:2014-06-10 13:38:07

标签: dictionary swift

我从使用AFNetworking的iTunes API获取数据,我想创建一个包含响应的词典,但我不能这样做。

错误:无法将表达式的类型“Dictionary”转换为“Hashable”类型

这是我的代码:

func getItunesStore() {

        self.manager.GET( "https://itunes.apple.com/es/rss/topfreeapplications/limit=10/json",
            parameters: nil,
            success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in
                var jsonResult: Dictionary = responseObject as Dictionary

            },
            failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
                println("Error:" + error.localizedDescription)
            })

    }

1 个答案:

答案 0 :(得分:114)

在Swift中定义Dictionary时,您还必须提供键和值类型。类似的东西:

var jsonResult = responseObject as Dictionary<String, AnyObject>

但是,如果演员表失败,你会收到一个运行时错误 - 你最好用以下的东西:

if let jsonResult = responseObject as? Dictionary<String, AnyObject> {
    // do whatever with jsonResult
}