(iOS )диспетчеризация _асинхронная ()и NSOperationQueue

Я изучил программирование iOS благодаря курсу Стэнфорда CS193p (в iTunes U ), а также книге по программированию iOS от Big Nerd Ranch. В обоих из них,они рекомендуют использовать dispatch_async(), dispatch_get_main_queue()и т. д. для обработки потоков и параллельных операций. Однако на сессии WWDC 2012, посвященной созданию параллельного пользовательского интерфейса, спикер рекомендовал использовать NSOperationQueue.

Каковы различия между dispatch_*()и NSOperationQueueи есть ли какая-либо причина (техническая, производительность, стилистическая или иная )причина, по которой я должен использовать один вместо другого? Является ли NSOperationQueueпросто оболочкой Objective -C для dispatch_asyncили это нечто большее?

48
задан madth3 26 January 2013 в 17:50
поделиться