我正在使用 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)
})
}
最佳答案
当您在 Swift 中定义一个 Dictionary
时,您还必须提供键和值类型。像这样的东西:
var jsonResult = responseObject as Dictionary<String, AnyObject>
但是,如果转换失败,您将收到运行时错误——您最好使用类似以下内容的方法:
if let jsonResult = responseObject as? Dictionary<String, AnyObject> {
// do whatever with jsonResult
}
关于dictionary - 快速将 AnyObject 转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24142541/