【发布时间】:2022-08-02 11:49:52
【问题描述】:
由于使用 Alamofire 时 JSON 序列化失败,我的一个应用程序不再工作。
\'responseJSON(queue:dataPreprocessor:emptyResponseCodes:emptyRequestMethods:options:completionHandler:)\' 已弃用:responseJSON 已弃用并将在 Alamofire 6. 改用 responseDecodable。
对于具有以下几行的代码
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:]).responseJSON { response in.. }当更改为
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:]) .responseDecodable { response in... }然后我得到错误
无法推断通用参数 \'T\'
所以我添加以下内容
AF.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: [:]) .responseDecodable(of: ResponseType.self) { response in.. }我得到错误
在范围内找不到 \'ResponseType\'
有没有人有什么建议?
-
它已被弃用,所以它应该仍然有效。如果你有一个
Codable结构,responseDecodable就可以工作,这似乎不是你的情况。要么使用Codable,要么使用 JSONSerialization 对自己进行序列化。见stackoverflow.com/questions/70789753/… -
您需要将
ResponseType替换为要将 JSON 解码为的实际Decodable类型。