2015-02-17 2 views
2

Я создал dispatch_async для загрузки данных в веб-службы.Удалить/остановить dispatch_async iOS

Я создал предупреждение с помощью кнопки от возможности для отмены/блокировки загрузки.

Мой вопрос:

Как я могу удалить/остановить мой dispatch_async?

Это мой диспетчерский:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { 
    doStuff(); 
} 

ответ

5

Там нет прямого способа сделать это с GCD, но вы можете использовать NSOperationQueue и вызвать метод cancelAllOperations. NSOperationQueue использует GCD внутренне в любом случае.

+0

Я читал это в этом посте: http://stackoverflow.com/questions/9546385/kill-items-in-a-dispatch-async-queue-in-ios Но я не понял, вы можете приведите пример? Thank you – Stephany

+0

Это немного больше накладных расходов, чем просто этот диспетчерский звонок прямо сейчас. Вы можете проверить этот учебник для начинающих: http://www.raywenderlich.com/19788/how-to-use-nsoperations-and-nsoperationqueues – Alf

+0

Спасибо! :) – Stephany

Смежные вопросы