将AFNetworking 2.x迁移到3.x丢失的数据对象,以便能够解码

时间:2018-07-05 10:20:54

标签: ios swift afnetworking afnetworking-3

我正在将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,所以变化并不大。 任何帮助将不胜感激。

谢谢。

0 个答案:

没有答案