Swift 3 的 ObjectMapper 和 Alamofire 问题 Alamofire 4 的 Alamofire 版本
Posted
技术标签:
【中文标题】Swift 3 的 ObjectMapper 和 Alamofire 问题 Alamofire 4 的 Alamofire 版本【英文标题】:ObjectMapper and Alamofire issue for Swift 3 Alamofire version for Alamofire 4 【发布时间】:2017-01-15 18:56:57 【问题描述】:我最近迁移到Swift
,所以请耐心等待并给予支持。
我使用来自Object Mapper
github page 的代码更正Alamofire 4
的语法
let URL = "https://raw.githubusercontent.com/tristanhimmelman/AlamofireObjectMapper/d8bb95982be8a11a2308e779bb9a9707ebe42ede/sample_json"
Alamofire.request(URL).response (response: DataResponse<WeatherResponse>) in
let weatherResponse = response.result.value
print(weatherResponse?.location)
if let threeDayForecast = weatherResponse?.threeDayForecast
for forecast in threeDayForecast
print(forecast.day)
print(forecast.temperature)
但我收到如下错误,如屏幕截图所示。
【问题讨论】:
【参考方案1】:这样你应该在 Alamofire 中调用方法:
func getWeatherDataResponseFromServer()
let URL = "https://raw.githubusercontent.com/tristanhimmelman/AlamofireObjectMapper/d8bb95982be8a11a2308e779bb9a9707ebe42ede/sample_json"
//AlamoFire request
Alamofire.request(URL, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON response in
do
let reponse = try JSONSerialization.jsonObject(with: response.data!, options: JSONSerialization.ReadingOptions()) as! Dictionary<String, AnyObject>
catch
print(error)
希望这会对你有所帮助。
【讨论】:
感谢您帮助我获得正确的格式,但我需要在完成时对响应进行建模,请参阅此链接github.com/tristanhimmelman/AlamofireObjectMapper 那么您应该创建自己的完成处理程序方法,该方法以我猜的格式返回数据 返回的自动写入模型类以上是关于Swift 3 的 ObjectMapper 和 Alamofire 问题 Alamofire 4 的 Alamofire 版本的主要内容,如果未能解决你的问题,请参考以下文章
Swift 和 ObjectMapper:具有最小值的 NSDate
在 Swift 中将 Alamofire 结果解析为对象(使用:Alamofire、SwiftyJSON 和 ObjectMapper)
Swift - 嵌套对象的映射 (Objectmapper)