swift 3を使用するiOSアプリケーションでAPI呼び出しを管理する最新かつ最新の方法は何ですか?Swift 3 - API呼び出しを使用する最新のメソッド
NSURLSessionですか?それを行う別の方法が新しいですか?迅速な3 NSの接頭辞で
swift 3を使用するiOSアプリケーションでAPI呼び出しを管理する最新かつ最新の方法は何ですか?Swift 3 - API呼び出しを使用する最新のメソッド
NSURLSessionですか?それを行う別の方法が新しいですか?迅速な3 NSの接頭辞で
を、以下、削除され迅速な3ではurlsession
URLSession.shared.dataTask(with: url!) { (data, response, error) in
//do the work
}
するための構文です - APIの最新のメソッド呼び出し。
let url = URL(string: urlString)! //Pass the URL String format
var request = URLRequest(url: url)
_ = URLSession.shared.dataTask(with: request) { data, response, error in guard let data = data, error == nil else {
print(error?.localizedDescription ?? "No data")
self.ProgressViewHide()
return
}
DispatchQueue.main.async {
let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
// Get Response on responseJSON
}
}.resume()
Swift 3.xの新しい方法では、このようにする必要があります。
また、クロージャは非同期で動作するので、GCDを使用してメインスレッドで実行するようにラップしました。
let request = URLRequest(url: URL(string: "Put your url")!)
let task = URLSession.shared.dataTask(with: request) {
data, response, error in
//print(error?.localizedDescription)
do {
let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as AnyObject
//on main thread
DispatchQueue.main.async {
self.currentCode = json["code"]!! as! String
}
}catch{
print("error\(error)")
}
}
task.resume()
しかし、私はあなたがAlamofireを使用してネットワーク化処理するため、より簡単な方法を使用することをお勧め、 https://github.com/Alamofire/Alamofire
API呼び出しのためのAlamofireフレームワークを使用 –