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 Mappergithub 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)

无法在 Swift 中导入 ObjectMapper

Swift/Alamofire/ObjectMapper:忽略零值

swift Alamofire+ObjectMapper——swift(学习九)