Alamofire.request不会使用自定义对象进行映射

时间:2017-02-26 13:40:40

标签: swift3 alamofire

我试图在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 version 4.3

1 个答案:

答案 0 :(得分:0)

  • 您首先需要安装“ AlamofireObjectMapper”。
  • 您应该为此添加到项目中,包括“ pod'AlamofireObjectMapper”和命令“ pod install”。
  • 现在在您的API调用类“ import AlamofireObjectMapper”中尝试输入“ .responseObject”。