![[Swift 3.0] Playground で URLSession を使う](https://devio2023-media.developers.io/wp-content/uploads/2014/11/logo_swift_400x400.png)
[Swift 3.0] Playground で URLSession を使う
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Playground でネットワーク通信
本日は iPhone 7 & iPhone 7 Plus 発売日ですね!! みなさん予約はされていましたか?
本日は、ちょっとした小ネタで大変恐縮ですが、Xcode 8 の Playground 上で、URLSession を使って簡単な JSON を取得するサンプルを作ったので公開します。大したことはしていません…。
実装コード
以下を Playground にコピペするだけで、URL Session を使った通信処理を試すことができます。
import Foundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
class Client {
    
    func someTask() {
        let url = URL(string: "http://date.jsontest.com/")!
        let task = URLSession.shared.dataTask(with: url) { data, response, error in
            if let jsonData = data {
                self.printJSON(jsonData)
            }
        }
        task.resume()
    }
    
    func printJSON(_ data: Data) {
        do {
            let json = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
            print(json)
        } catch {
            print("parse error!")
        }
        
    }
    
}
let client = Client()
client.someTask()
最大のポイントは PlaygroundSupport フレームワークをインポートし、PlaygroundPage の needsIndefiniteExecution を true にするところです。こうしないと通信処理はできません。
試す
Playground で実行すると、正常に取得できていることが確認できます。なお、JSON を返す API は http://www.jsontest.com/ を使わせていただきました。
まとめ
API の呼び出しテストに使える簡単な実装でした。開発の一助になれば幸いです。















