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