【问题标题】:Alamofire.request does not map with custom objectAlamofire.request 不与自定义对象映射
【发布时间】:2017-02-26 13:40:40
【问题描述】:

我试图在 swift 中创建一个示例应用程序,该应用程序使用 alamofire 和 alamofire 对象映射器进行映射。这个示例应用程序的整个想法是将 json 响应与我制作的自定义模型进行映射。但是当我尝试循环对象列表时,它说自定义对象不兼容并且它是一个字典。

这是我的网络层代码

// MARK: retrieve country list
func retrieveCountryList(completion: @escaping (_ result: NSArray) -> Void) {
        Alamofire.request("https://restcountries.eu/rest/v2/all").
responseJSON{(response: DataResponse<Any>) in
            let result = response.result.value;
            let resultsArray = result as! NSArray
            completion(resultsArray)
      }
 }

和模型

class Country : Mappable {

    var name:String?
    var capital:String?

    required init(map : Map) {
    }

    func mapping(map: Map) {
        name <- map["name"]
        capital <- map["capital"]
    }
}

似乎响应不直接与模型映射。可能是什么问题?

alamofire 4.3 版

【问题讨论】:

  • 使用responseObject而不是responseString
  • 响应对象。不允许在 almofire 最新的一个

标签: swift3 alamofire


【解决方案1】:
  • 您首先需要安装“AlamofireObjectMapper”。
  • 您应该通过添加“pod 'AlamofireObjectMapper'”和命令“pod install”来添加到您的项目中。
  • 现在在您的 API 调用类“import AlamofireObjectMapper”中输入“.responseObject”,您会得到它。

【讨论】:

    猜你喜欢
    • 2021-05-02
    • 2020-04-23
    • 2012-07-08
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    相关资源
    最近更新 更多