Скажем, у меня есть какая-то функция, которая должна выполнять некоторую асинхронную операцию; последовательность выглядит так:
-(void) f1 {
//1. invoke some asynchronous operation
//2. wait until asynchronous operation ends and invokes some delegate method
//3. let delegate method end
//4. exit function
}
Функция вызывается с использованием очереди GCD (последовательной или параллельной).
Ограничения : уведомления не могут быть использованы; шаги должны быть строго в этом порядке; NSOperation не должен использоваться;
Как можно реализовать блокирующую часть (# 2 в последовательности)?