【问题标题】:xcode8 Alamofire 4 update error "use of undeclared type Response"xcode8 Alamofire 4 更新错误“使用未声明的类型响应”
【发布时间】:2017-01-05 09:27:11
【问题描述】:

更新到 Xcode8 和 Alamofire4 后,我在代码“Response

class FetchData {
static func get <T: Object> (_ type: T.Type, success:@escaping () -> Void,     fail:@escaping (_ error:NSError)->Void)->Void where T:Mappable, T:Meta {
    Alamofire.request(type.url(), method: .get)
    .responseArray { (response: Response<[T], NSError>) in
    //.responseArray { (response: DataResponse<[T], NSError>) in
            switch response.result {
            case .success(let items):
                autoreleasepool {
                    do {
                        let realm = try Realm()
                        try realm.write {
                            for item in items {
                                realm.add(item, update: true)
                            }
                        }
                    } catch let error as NSError {
                        fail(error: error)
                    }
                }
                success()
            case .failure(let error):
                fail(error: error)
            }
    }
}
}

按照本指南,我的代码正常工作,使用 Object Mapper 将数据映射到领域; https://blog.hyphe.me/realm-and-alamofire-in-a-effective-harmony/

将其更改为 DataResponse 无效。 有什么想法吗?

【问题讨论】:

    标签: swift compiler-errors objectmapper


    【解决方案1】:

    由于 Alamofire 迁移指南到版本 4.0 Migration Guide,您应该使用 DataResponse,因此注释的代码行实际上是正确的,但有冗余参数 NSError 包含在 DataResponse 结构中。 使固定: .responseArray { (response: DataResponse&lt;[T]&gt;) in

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-21
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      相关资源
      最近更新 更多