无法在WebService调用请求中使用NSData强制转换NSDicationry



尝试包装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调用基本相同。

最新更新