2016-11-06 12 views
0

初心者の質問に申し訳ありません。 私はネットワークから返されたデータの結果に依存するアクションを持っており、そのアクションは別のネットワーク要求を必要とするかもしれません。最初のネットワーク要求はデータ・タスクですでに呼び出されているので、2番目のネットワーク要求に対して同じスレッドを使用したいが、それを行う方法はわからない。すべてのヒント? TKS速い、同じ仕事のスレッドの別の時間をネットワークに呼び出す

let task = URLSession.shared.dataTask(with: request as URLRequest) 
     { data, response, error in 

      if func_1 (data) { 
       return 
      }else { 
       //call another network request here, but don't want to do 
       //another task = URLSession.shared.... again since we are already on an async thread 

      } 
     } 

答えて

1
//call another network request here, but don't want to do 
//another task = URLSession.shared.... again since we are already on an async thread 

は、これは誤解です。この時点で別のネットワーク要求を作成することは問題ありません。これは、適切なキューに別の要求を送信することだけです。スケジュールするときに実行中のスレッドは関係ありません。

Appleの​​を強くお勧めします。 iOSの並行処理の仕組みについて、誤解を招くことがあります。 iOS作業の重要な部分は、GCDキューを理解することです。特に、スレッドとはどのように違いますか。

関連する問題