- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我对 AlamofireObjectMapper
有疑问responseObject
方法。这是completionHandler
从 Response<T, NSError> -> Void
更改为(旧)到DataResponse<T> -> Void
(现在)。也许我不明白,但你能告诉我现在如何通过此更改提供后端错误处理吗?之前,我完成了例如 Response<Object, NSError>
.现在我无法同时处理后端错误和成功接收到的数据。还是我应该使用其他方法?
例如,现在我有:Xcode 8、swift 3、更新的框架
class func getAllProducts(successCallBack:((ProductsData?) -> Void), failureCallBack: ((NSError?, ServerResponseStatusCode?) -> Void)?) {
Alamofire.request(URLRouter.Products).responseObject {
(response: DataResponse<ProductsData, NSError>) in
// inside completion block code
}
}
但是当我检查新更新的 AlamofireObjectMapper 时,这个方法的完成现在是 DataResponse<T>
的形式。仅,因此我收到错误“通用类型“DataResponse”专门用于太多类型参数(得到 2 个但预期为 1 个)”
之前:使用 Xcode 7,swift 2.2
class func getAllProducts(successCallBack:((ProductsData?) -> Void), failureCallBack: ((NSError?, ServerResponseStatusCode?) -> Void)?) {
Alamofire.request(URLRouter.Products).responseObject {
(response: Response<ProductsData, NSError>) in
// inside completion block code
}
}
非常感谢。
最佳答案
在使用 Swift 3.0 的 Alamofire 4.0 中,您可能需要在响应闭包内的 switch 语句中处理错误/失败:
Alamofire.request(URLRouter.Products, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil)
.validate()
.responseObject { response in
switch response.result {
case .success:
//print("...HTTP code: \ (response.response?.statusCode)")
case .failure(let error as NSError):
print("Error: \(error)")
default:
print("Unexpected case")
}
}
关于swift - AlamofireObjectMapper responseObject 方法迁移问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39660346/
所以我正在使用天气 API: https://api.darksky.net/forecast/88d117d813f2014a1ce7f3de6a00c720/50.909698,-1.404351
我正在使用ObjectMapper和Realm class User:Object, Mappable { dynamic var name: String? } func mapping(
这是我从 api 得到的响应 { Message = "email verification link has been sent to your email. please verify your
我正在使用 AlamoFireObjectMapper 尝试将一些简单的 JSON 映射到一些类模型。似乎我能够正确检索 JSON 并打印它,但是当我尝试将我的响应附加到我的类类型的数组时,它不起作用
我正在使用 AlamofireObjectMapper解析对我的对象的 json 响应。 AlamofireObjectMapper 是 ObjectMapper 的扩展. 根据他们的文档,我的模型类
我有一个名为 Movie 的映射类,并且我发出了一个返回此类型的 API 请求。如何使用 API 响应的值实例化此类? 电影映射类: class Movie: Mappable { var poste
封装数据时是否需要为AlamofireObjectMapper编写一个wrapper-object?例如。如果天气数据位于命名数组“data”内。映射的最佳解决方案是什么? { "data":
我的问题是:为什么我的方法返回一个带有 .responseArray 的空 json 数组? 我有以下来自 REST-API 的 JSON: [ { "id": 1,
在我的应用程序中,我使用 AlamofireObjectMapper 进行映射。我第一次使用这个。这是我从 API 得到的回复 { Message = "email verification
我想第一次使用 AlamofireObjectMapper 在 swift 中解析 json 响应。 响应是: { "city": { "total": 19,
我怀疑我可能犯了与 Rob 在 post here 中所描述的相同的错误因为我应该以另一种方式来做这整件事,但要记住这一点: 我正在尝试以通用方式使用 AlamofireObjectMapper。它有
我正在尝试编写一些单元测试,并且需要一种方法来制作可映射对象的虚拟版本。例如: class MyClassJsonResponse: Mappable { var status: String
您好,我遇到了解析问题。 当我尝试解析 this 时我的 tableviewcell 中的 JSON并且得不到我需要的值。 我的要求: let videos = NewestVideos()
我对 AlamofireObjectMapper 有疑问responseObject方法。这是completionHandler从 Response -> Void 更改为(旧)到DataRespon
我想第一次使用 AlamofireObjectMapper 来快速解析 json 响应。 回应是: "success": true, "terms": "https:\/\/currencyl
我正在使用AlamofierObjectMapper将我的 json 从服务器映射到我的模型。从服务器接收到的json是这样的: [ { "Title": "string", "I
我正在使用AlamofireObjectMapper 来 self 的服务器的响应是 JSON 格式,但它还在 header 中包含一些键 Alamofire.request(URL).respons
我正在尝试建立一个系统,让我的所有 api 请求路径都通过一个函数并将它们映射到相应的对象 func sendApi(url : String , httpMethod : HTTPMethod =
我正在尝试为使用最新 (4.0) 版本的 Alamofire 和 AlamofireObjectMapper 的请求创建通用方法。我从下面的代码开始: func execute(request :
我正在使用 AlamofireObjectMapper 序列化来自服务器的 JSON 响应。目前,通过 get 方法,我有以下结构化 JSON 响应: { data : { [
我是一名优秀的程序员,十分优秀!