2017-07-27 6 views
0

swift 3を使用するiOSアプリケーションでAPI呼び出しを管理する最新かつ最新の方法は何ですか?Swift 3 - API呼び出しを使用する最新のメソッド

NSURLSessionですか?それを行う別の方法が新しいですか?迅速な3 NSの接頭辞で

+2

API呼び出しのためのAlamofireフレームワークを使用 –

答えて

2

を、以下、削除され迅速な3ではurlsession

URLSession.shared.dataTask(with: url!) { (data, response, error) in 
     //do the work 
} 
2

するための構文です - 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() 
1

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

関連する問題