SwiftHttp + JSONDecoder

时间:2018-07-02 08:18:56

标签: json swift

我正在尝试从这样的服务器解析json响应

HTTP.GET(ServerPatientApi.SPLASH, parameters: nil) { response in
            if let error = response.error {
                listener.onException(error)
                return;
            }

            DispatchQueue.main.async (execute: {
                let res = try decoder.decode(PatientSplashModel.self, from: response.data)
                listener.onSplashLoaded()
            })
        }

但是我收到以下错误:

  
    

从类型为(()throws->()的throwing函数到非抛出函数类型为'@convention(block)的无效转换

  

在该区块:

DispatchQueue.main.async (execute: {
                let res = try decoder.decode(PatientSplashModel.self, from: response.data)
                listener.onSplashLoaded()
            })

我认为该错误是由以下原因引起的:

  
    

PatientSplashModel.self

  

该如何解决?

谢谢

1 个答案:

答案 0 :(得分:0)

该错误有点令人误解,您必须将try语句包装在do catch块中

DispatchQueue.main.async {
    do {
        let res = try decoder.decode(PatientSplashModel.self, from: response.data)
        listener.onSplashLoaded()
    } catch { print(error) }
 }