2015-03-07 4 views
0
NSURLConnection.sendAsynchronousRequest 

иВ чем разница между двумя асинхронными запросами?

dispatch_async(dispatch_get_main_queue()) {} 

Я вижу, что один специфичен для urlRequests, но может один также использовали функцию dispatch_async, чтобы получить данные из URL, то сделать связанные UI вещи в asynchoronous моде?

Спасибо заранее,

Ace

+0

Если вы хотите знать погоду он вызывает в основном потоке вы можете распечатать NSThread.isMainThread() внутри обработчика sendAsynchronousRequest – Arbitur

ответ

0

Как ты сказал, что метод NSURLConnection специально для отправки запроса асинхронной и действует на более высоком уровне абстракции. Значит, для вас под капотом делается много тяжелой работы.

Также, что вы делаете в примере, посылаете вызов блока, который вы будете поставлять асинхронно, но сам блок будет выполнен в основной очереди, что не будет асинхронным.

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

Так сказать: dispatch_async является частью системы НОД довольно низкого уровня, которые могут быть использованы для различных вещей, таких как диспетчерские произвольные CodeBlocks на разных очередях и т.д. See here for reference

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