(iOS) dispatch_async () vs. NSOperationQueue

Aprendi programação iOS graças ao curso CS193p de Stanford (no iTunes U) e ao livro de programação iOS do Big Nerd Ranch. Em ambos, eles recomendam usardispatch_async(), dispatch_get_main_queue(), etc. para lidar com operações simultâneas e de encadeamento. No entanto, na sessão da WWDC de 2012 sobre a construção da interface do usuário simultânea, o palestrante recomendou o uso deNSOperationQueue.

Quais são as diferenças entredispatch_*() eNSOperationQueue, e há algum motivo (técnico, desempenho, estilístico ou outro) que eu deveria usar um sobre o outro? ÉNSOperationQueue apenas um wrapper Objective-C ao redordispatch_async, Ou tem mais do que isso?

questionAnswers(4)

yourAnswerToTheQuestion