Why should I choose GCD over NSOperation and blocks for high-level applications? Why should I choose GCD over NSOperation and blocks for high-level applications? objective-c objective-c