何回やってもエラーになるなと思ったらAlamofire 2.0の書き方だった・・
ネットで簡単にサンプルコード取得できて、便利な世の中だなーと思っておりますが、自分の環境で使えるのかは毎度確認しておく必要がありますね。
今回はAlamofireというライブラリを使用して、JSONデータを取得するところでハマりました。原因はAlamofireのバージョンが3.0に上がったのに気づかずに、2.0の書き方でやっていたためでした。
まだまだネット上には2.0のサンプルコードが多くアップされており、3.0のサンプルコードは少ないです。コーディングする際に勘違いされるかたも多いかもしれませんね。
私としてはAlamofireはそんなにさわる機会がないかなという感じですが備忘録のためメモしておきます。
Alamofire 3.0でAPIが変更になっていた
ほんと、ちゃんと確認しておけばよかったのですが、根本を間違えてました。。
データへのアクセス方法が違います。
※Swift2.0版です。
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"]) .responseJSON { response in debugPrint(response) // prints detailed description of all response properties print(response.request) // original URL request print(response.response) // URL response print(response.data) // server data print(response.result) // result of response serialization if let JSON = response.result.value { print("JSON: \(JSON)") } }
response.XXXXXX というようにアクセスします。
JSONの結果には、response.result.value でアクセスできます。
有志の情報もわかりやすくてよいが、一度本家も見ておくことも大切
今回のAlamofireに限らず、ハマった時などは本家のサイトに行ってみるとすんなり解決することが多いです。
本家 GitHub
https://github.com/Alamofire/Alamofire