Когда использовать mainQueue NSOperationQueue, а когда создавать новую очередь?

Я впервые использую NSOperation / NSOperationQueue.
Я написал подкласс NSOperation, который обрабатывает JSON-экспорт большого количества данных, потому что я хочу, чтобы пользовательский интерфейс оставался отзывчивым во время более длительного экспорта.

В какую очередь мне добавить свою операцию:
- [NSOperationQueue mainQueue] или
- в новую NSOperationQueue, [[NSOperationQueue alloc] init]?

И какова причина этого решения?


person MartinW    schedule 12.04.2015    source источник


Ответы (1)


Основная очередь использует тот же поток, который обрабатывает операции пользовательского интерфейса. Вы хотите, чтобы длинные операции отправлялись в фоновую очередь, а затем все, что отображает результаты операции, должно возвращаться в основную очередь.

person Phillip Mills    schedule 12.04.2015
comment
Когда я вообще смогу что-то добавить в основную очередь? - person MartinW; 14.04.2015
comment
Вы должны добавить что-нибудь в основную очередь, если вы обрабатываете в фоновой очереди и вам нужно обновить какой-либо элемент пользовательского интерфейса. Прогресс длительной операции - обычное дело. - person Phillip Mills; 14.04.2015