我正在尝试从这样的服务器解析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
该如何解决?
谢谢
答案 0 :(得分:0)
该错误有点令人误解,您必须将try
语句包装在do catch
块中
DispatchQueue.main.async {
do {
let res = try decoder.decode(PatientSplashModel.self, from: response.data)
listener.onSplashLoaded()
} catch { print(error) }
}