проблема с dispatch_async и асинхронным запросом

Итак, первый вопрос: как dispatch_asyncопределяет, какой поток использовать? просто выбирает случайно? Мне нужно выполнить синтаксический анализ и основные данные, поэтому я не хочу блокировать поток пользовательского интерфейса и использовать dispatch_async, но после этого я отправляю NSURLRequestдля получения дополнительных данных и обратный вызов никогда не вызывается (вероятно, потому что поток уже мертв).

Итак, как это сделать? И я не могу использовать

sendAsynchronousRequest:queue:completionHandler: 

, потому что ОС развертывания — 4. Сейчас я просто отправляю запрос внутри

dispatch_async(dispatch_get_main_queue(), ^{
});

, который находится внутри блока dispatch_async(myQueue), который выполняет весь синтаксический анализ и сохранение в основные данные. Но мне это кажется неправильным, я имею в виду, что должен быть способ использовать dispatch_async и сказать, чтобы он не убивал протектор, верно? Потому что использование запросов на синхронизацию не вариант.

5
задан Rob 26 January 2013 в 19:53
поделиться