尝试包装WebService中的可编码响应数据用过的可可荚pod"WebService","~>0.4’
var webServiceObject : WebService = WebService()
webServiceObject.sendRequest(URLString, parameters: parameters as NSDictionary?, requestType: .post, success: {response,data in
do{
// Handle data when request Success
let jsonDecoder = JSONDecoder()
do {
let result = try jsonDecoder.decode([ResponseModelValue].self, from: data as! Data)
print(response?.statusCode as Any)
print("Success Response Value", result)
}
} catch {
print(error)
}
}, failed: {
(response : HTTPURLResponse?, ResponseDict : Any?) in
print(response?.statusCode as Any)
print("Failed Response Dictionary", ResponseDict!)
// Handle data when request fails
}, encoded: false )
我收到以下错误
无法将"__NSDictionaryI"类型的值(0x10c81ab38(强制转换为"NSData"(0x10c1819620(
有人能告诉我我在这里做错了什么吗?这样我就可以用可编码的[ResponseModelValue]
解析正确的响应数据了
查看该库后,如果可能的话,它会将响应转换为字典,然后返回数据。https://github.com/kansaraprateek/WebService/blob/master/WebService/Classes/WebService.swift#L281
似乎没有办法配置这种行为。该库也是在创建Codable
之前创建的。您可能需要联系库所有者进行修复,分叉repo并自己修复,或者切换到使用URLSession,因为您发布的代码与URLSession调用基本相同。