の場合、すべてのhttp要求はメインのUIスレッドまたはバックグラウンドスレッドで実行する必要がありますか?performFetchWithCompletionHandler httpフェッチは、メインスレッドまたはバックグラウンドスレッドで行う必要がありますか? performFetchWithCompletionHandler内の
答えて
バックグラウンドスレッドでHTTPリクエストを行う必要があります。あなたのデータソースにデータを入力するための何らかのデータを受け取った場合は、.reloadData()
をメインスレッドに入れる必要があります。 documentationのこの部分はあなたのより良いを与える可能性があり
DispatchQueue.main.async {
tableView.reloadData()
}
:あなたの結果を表示するtableView
を使用している、あなたはcompletionHandler:
スウィフト3にこのコードを配置すると仮定すると
このトピックについての説明。
はい、しかし、私は理解していないものは、バックグラウンドスレッドでそれを行う目的は何ですか?私は任意のケースで結果を使用してcompletionHandlerを呼び出す必要がありますか?だから、メインスレッドで結果を待つ必要がありますか? –
メインスレッドの責任の1つは、UIをレンダリングすることです。通常、どのようなIO要求(HTTP要求など)もフレームレンダリング(60FPSを取得するには16.7msごとに発生する)よりも低速です。そのため、データが準備されているときにのみメインスレッドを呼び出すことができます。 – mtrevia
はい、アプリがバックグラウンドのときは、何もレンダリングする必要はありません。とにかく、バックグラウンドスレッドでhttpリクエストをしたら、私はcompletionHandlerを呼び出すでしょうか? –
- 1. startActivityはメインスレッドで実行する必要がありますか?
- 2. ハイパーリンクでHTTPまたはHTTPSを使用する必要がありますか?
- 3. [table reloaddata]はメインスレッドからのみ呼び出す必要がありますか?
- 4. Webkitは常にメインスレッドで使用する必要がありますか?
- 5. becomeFirstResponder()は常にメインスレッドで呼び出す必要がありますか?
- 6. フォームオブジェクトまたはモデルで検証を行う必要がありますか?
- 7. 'メインスレッドでMBProgressHUDにアクセスする必要があります。' - Swift 3
- 8. IllegalArgumentException:defaultTargetは '/'または 'http(s)'で始まる必要があります
- 9. APIからのフェッチはlocalhostで動作する必要がありますか?
- 10. PerformFetchWithCompletionHandlerがXcodeでシミュレートするときに2回呼び出される
- 11. iOSのメインスレッドとバックグラウンドスレッドは何ですか?
- 12. IoT:MQTTまたはHTTPを使用する必要がありますか?
- 13. 私はGitクローンを行う必要がありますか?
- 14. Rubyクラスの挿入メソッドまたはゲッターメソッド内で計算を行う必要がありますか?
- 15. 私はlighttpdでモバイルリダイレクトを行う必要があります
- 16. AVAudioPlayerを使用して、バックグラウンドまたはメインスレッドでサウンドを再生する必要がありますか?
- 17. URLForUbiquityContainerIdentifierをメインスレッド外のスレッドで呼び出す必要がありますか?
- 18. Volley onResponse()をバックグラウンドスレッドで処理する必要がありますか?
- 19. HTTP要求(httpまたはフェッチ)に適したNativecriptモジュールはどれですか?
- 20. メインスレッドまたはバックグラウンドスレッドでのiOS XML解析
- 21. ブラウザでイメージを再検証する必要があります(ただし必ずしも再フェッチする必要はありません)
- 22. スレッド警告:['InAppBrowser']は '175.479736'ミリ秒でした。プラグインはバックグラウンドスレッドを使用する必要があります
- 23. グライドエラー:java.lang.IllegalArgumentException - バックグラウンドスレッドでこのメソッドを呼び出す必要があります
- 24. array()内のCSV行は、改行を維持する必要があります
- 25. DestructorでDeleteCriticalSectionを行う必要がありますか?
- 26. 私はHTTP応答を待つ必要があります
- 27. Xcode 9 [UIView initWithFrame:]メインスレッドのみから使用する必要があります
- 28. ミドルウェアアプリケーションはビジネスロジックを実行する必要がありますか?
- 29. servstructor内からlocalstorageまたはcookieにアクセスする必要があります
- 30. Bundlerのセットアップはどこで行う必要がありますか?
メインスレッドではこれを行わないでください。バックグラウンドスレッドでそれを行う –
はい、私は理解していないものは、バックグラウンドスレッドでそれを行う目的は何ですか?私は任意のケースで結果を使用してcompletionHandlerを呼び出す必要がありますか?だから、メインスレッドで結果を待つ必要がありますか? –