我正在将AFNetworking
从2.x迁移到3.x,但是遇到一个我不知道如何解决的问题。
使用AFNetworking 2.x
,我可以获取响应数据,并使用它将其解码为我的对象,如下所示:
api.get(userListPath, parameters: parameters, success: { (operation, _) in
guard let data = operation.responseData else {
let localizedFailureReason = "No data"
handler(CustomObject.failure(XError.init(xErrorWithCode: XErrorCode.xErrorServer.rawValue, localizedFailureReason: localizedFailureReason)))
return
}
do {
let decoder = JSONDecoder()
let response = try decoder.decode(CustomObjectResponse.self, from: data)
handler(CustomObjectResponse.success(response.likes))
} catch let err {
let responseError = ResponseError.parsing(reason: err.localizedDescription)
Crashlytics.sharedInstance().recordError(err)
handler(CustomObjectResponse.failure(XError(xErrorWithCode: XErrorCode.xErrorServer.rawValue, localizedFailureReason: responseError.localizedDescription)))
return
}
}, failure: { (operation, error) in
handler(CustomObject.failure(error))
})
但是现在,由于AFNetworking
不再使用NSOperation
,因此我无法获取数据以对其进行解码。
我觉得我缺少一些关键或重要的东西,但我不知道是什么。
到目前为止,我所看到的任何有关迁移(甚至迁移指南)的示例都只使用responseObject
,所以变化并不大。
任何帮助将不胜感激。
谢谢。