web-dev-qa-db-ja.com

GCDキューのタスクを停止/キャンセル/一時停止/再開する方法

GCDキューのタスクを停止/キャンセル/一時停止/再開する方法

バックグラウンドキュー操作を停止するにはどうすればよいですか?アプリの画面をいくつか停止したい。また、画面によっては自動再開する必要があります。では、iOSでどのようにキューを渡すのでしょうか?

ユーザーがアプリの時間を閲覧しているとき、dispatch_queue_tでバックグラウンドスレッドを実行します。ただし、コード内で停止および再開することはありません。それでは、キューをどのように一時停止および再開しますか

27
lakshmanbob

GCDキューを使用している場合、一時停止/キャンセルできません。その機能が必要な場合(そして、そうでなくても多くの一般的な場合)、NSOperationQueueというより高レベルのAPIを使用する必要があります。これはGCDの上に構築されていますが、同時に実行するものの数を制御したり、キューの処理を一時停止したり、個々の/すべての操作をキャンセルしたりすることができます。

4
Wain