Alamofire.request 不与自定义对象映射
Posted
技术标签:
【中文标题】Alamofire.request 不与自定义对象映射【英文标题】:Alamofire.request does not map with custom object 【发布时间】: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 最新的一个
【参考方案1】:
您首先需要安装“AlamofireObjectMapper”。
您应该通过添加“pod 'AlamofireObjectMapper'”和命令“pod install”来添加到您的项目中。
现在在您的 API 调用类“import AlamofireObjectMapper”中输入“.responseObject”,您会得到它。
【讨论】:
以上是关于Alamofire.request 不与自定义对象映射的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire.request().responseObject 不返回响应