2015年7月30日木曜日

Swiftではじめるアプリ作成 CocoaPodsでAlamofireとSwiftJsonを使ってアプリを作る その3

  • 公開日:2015年07月30日

記事概要


その2の続きです。SwiftJsonを利用してjsonデータを扱います。
jsonデータは、livedoor天気情報のお天気Webサービス『Weather Hacks 』を使ってAlamofireから取得したデータを使って説明したいと思います。

開発環境


  • Xcode 6.4
  • Swift 1.2

難易度


★★★☆☆(普通)

Alamofireの実装


前回のプロジェクトで作成したViewControllerに処理を記載します。

【swift】

import UIKit
// 追加
import SwiftyJSON
import Alamofire


class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

SwiftyJSONを利用するには、宣言に『import SwiftyJSON』と記載します。
Alamofireをimportしている場合は、『import Alamofire』の上に記載してください。
私の環境では、import Alamofire』の下に記載すると『load module error』が発生しました。

json処理


swiftのjsonを扱い方を学びます。

Dictionary処理

【swift】

    // AlamofireでGET REQUESTを送信し、JSONデータを加工する
    func requestAlamofire() {
        Alamofire.request(.GET, "http://weather.livedoor.com/forecast/webservice/json/v1", parameters: ["city": 200010])
            .responseJSON { (request, response, json, error) in
                if (response?.statusCode == 200) {
                    println("success")
                    var swiftJson = JSON(json!)
                    self.outputLocation(swiftJson)
                    
                } else {
                    // error
                    println(error)
                }
        }

    }

    // Locationデータを出力します
    func outputLocation(json : JSON) {
        if let location: Dictionary = json["location"].dictionary {
            println("dictionary data")
            println(location)
        } else {
            println("dictionary data")
        }

    }

上記はjsonファイルのlocationデータをswiftで扱えるように処理しています。
データはDictionaryデータです。

結果確認


上記のコードをビルドして、dubugログを見ると、以下のデータが出力されているのが確認できます。

【log】

success
dictionary data
[city: 長野, prefecture: 長野県, area: 信越・北陸]

jsonデータがきちんと取得できているのが確認できました。
このように出力したいデータを簡単に加工することができます。

まとめ


AlamofireとSwiftJsonを使うことで、アプリの作成時間を大幅に短縮できます。
その分UIやUXに時間を避けるはずです。
限られた時間をうまく使い、より良いアプリを作っていきましょう。

Swiftでのiphoneアプリ開発にオススメの本


詳細swiftよりこちらの本をオススメします。
objective-cの経験がある人や、初心者から中級者までの開発者はこの本のほうが役に立ちます。
ただし、swiftはバージョンアップの速度が早いので、購入するときは自分が利用しているswiftのバージョンでも役に立つことを確認してから購入するように注意してください。

関連記事

参考サイト

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...