我从使用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)
})
}
答案 0 :(得分:114)
在Swift中定义Dictionary
时,您还必须提供键和值类型。类似的东西:
var jsonResult = responseObject as Dictionary<String, AnyObject>
但是,如果演员表失败,你会收到一个运行时错误 - 你最好用以下的东西:
if let jsonResult = responseObject as? Dictionary<String, AnyObject> {
// do whatever with jsonResult
}