■URLセッションとは
APIのデータを取得する際に使う
APIのデータを取得する方法みたいな物。
■書き方
func paseRequest(urlString: String) {
let url = URL(String:urlString)
let session = URLSession(configuration: .default)
let task = session.dataTask(with:url) {(data, response, error) in
if let error != nil {
print(error)
return
}
if let safeData = data {
paseJSON(data:safeData)
}
}
task.resume()
}
■1行づつ説明
APIのurlを引数に持たせて持ってくる。
func paseRequest(urlString:String)
引数でもってきたurlStringを使いstruct URLに入れ込み変数urlに入れ込む
let url = URL(string: urlString)
データの転送管理してくれるセッションをつくる
let session = URLSession(configuration: .default)
セッションの機能を使ってエラー処理やデータの格納などをする。
クロージャを使っている。 関数の中に関数
let task = session.dataTask(with:url) {(data, response, error) in
if let error != nil {
print(error)
return
}
if let safeData = data {
//データを機械に読みこむためにデコードする dataを引数として渡す
paseJSON(data:safeData)
}
}
■POINT★
クロージャは下記のメソッドを省略して書いてる。
func handle(data: Data?, response: URLResponse?, error: Error?) {
}
taskを開始する。
task.resume()
こんな感じです。
後はJSONデータをデコードするための
paseJSON(data:Data)メソッドを作ります。
他記事に記載してます。