Кастинг AnyObject для словаря в быстром
Я получаю данные из iTunes API с AFNetworking, и я хочу создать словарь с ответом, но я не могу этого сделать.
Ошибка: невозможно преобразовать тип выражения "Словарь", чтобы ввести "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
Когда вы определяете Dictionary
в Swift, вы также должны указывать типы ключей и значений. Что-то вроде:
var jsonResult = responseObject as Dictionary<String, AnyObject>
Если при отказе сбрасывается, вы получите ошибку времени выполнения - вам лучше с чем-то вроде:
if let jsonResult = responseObject as? Dictionary<String, AnyObject> {
// do whatever with jsonResult
}