NSOperation warten, bis der asynchrone Block ausgeführt wird

Ich muss asynchrone Operationen in eine Operationswarteschlange stellen. Sie müssen jedoch nach dem anderen @ ausgeführt werde

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) {

    }];

}];

das Problem ist, da PeripherieN connectWithCompletion asynchron ist, die Operation in der Warteschlange beendet wird und die nächste ausgeführt wird, ich müsste jedoch simulieren, dass PeripherieN connectWithCompletion synchron ist und mit dem Ende der Operation warten, bis der asynchrone Block ausgeführt wird

so würde ich ein Verhalten wie dieses brauchen, nur mit der Operationswarteschlange

    [peripheral1 connectWithCompletion:^(NSError *error) {

            [peripheral2 connectWithCompletion:^(NSError *error) {

            }];

    }];

Antworten auf die Frage(2)

Ihre Antwort auf die Frage