NSOperation дождитесь выполнения асинхронного блока

мне нужно поместить асинхронные операции в очередь операций, однако они должны выполняться после другой

self.operationQueue = [NSOperationQueue new];
self.operationQueue.maxConcurrentOperationCount = 1;

[self.operationQueue addOperationWithBlock:^{

    // this is asynchronous
    [peripheral1 connectWithCompletion:^(NSError *error) {

    }];

}];

[self.operationQueue addOperationWithBlock:^{

    // this is asynchronous
    [peripheral2 connectWithCompletion:^(NSError *error) {

    }];

}];

проблема в том, что периферийноеN connectWithCompletion является асинхронным, операция в очереди заканчивается, и выполняется следующая, однако мне нужно смоделировать, что периферийноеN connectWithCompletion является синхронным и ждать с окончанием операции, пока асинхронный блок не будет выполнен

поэтому мне нужно такое поведение, только с использованием очереди операций

    [peripheral1 connectWithCompletion:^(NSError *error) {

            [peripheral2 connectWithCompletion:^(NSError *error) {

            }];

    }];

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

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