Предполагается, что способ GCD более эффективен и прост в обращении, и он доступен только в iOS4 и выше, тогда как executeSelector поддерживается в более старых и новых версиях iOS.

ользовал и GCD, и executeSelectorOnMainThread: waitUntilDone в своих приложениях и склонен считать их взаимозаменяемыми - то есть, executeSelectorOnMainThread: waitUntilDone - это оболочка Obj-C для синтаксиса GCD C. Я думал об этих двух командах как об эквивалентных:

dispatch_sync(dispatch_get_main_queue(), ^{ [self doit:YES]; });


[self performSelectorOnMainThread:@selector(doit:) withObject:YES waitUntilDone:YES];

Я не прав? То есть, есть ли разница между командами executeSelector * и GCD? Я прочитал много документации по ним, но до сих пор не нашел окончательного ответа.

Ответы на вопрос(3)

Ваш ответ на вопрос