我通过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
}

Swift相关问答推荐

如何使用RxSwift根据数据数绘制UICollectionView单元格

RealityKit如何获得两个相对大小相同的ModelEntity?

.onReceive NSWindow.CloseNotify是否会为App中的每个窗口调用?

KMM-Swift铸造密封类

NavigationLink和ObservableObject的动画片段

如何使用可搜索在搜索栏中搜索包括>或<?

我如何在 swift 中的 viewdidload 之前进行委托?

UIView.convert(_ point:to:)的意外行为

Xcode 15 Beta中如何使用@Observable?

领域异常中的相同方法:发送到实例的无法识别的 Select 器

如何在 swiftui 中设置给定字符串类型日期的日期倒计时?

如何将视图添加到多行文本视图的末尾?

ScreenCaptureKit/CVPixelBuffer 格式产生意外结果

快速更改tableView中的数据

如何更新 UserDefault 中的特定值

这是 Int64 Swift Decoding 多余的吗?

与 SwiftUI 中的 onChange 修饰符相比,objectWillChangeSequence 的目的是什么?

Xcode 13.3 将函数调用更改为属性访问

在 UItextfield 的右视图上添加一个按钮,文本不应与按钮重叠

不能从非开放类继承 swift