0

2 つのリクエストを実行し、最後に通知を送信したいと考えています。操作のシーケンスをチェックする私のコード:

AFHTTPRequestOperation *operation1 = ...;
AFHTTPRequestOperation *operation2 = ...;
[operation1 setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

            NSLog(@"asdf");
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        }];
[operation2 setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {

            NSLog(@"asdf");
        } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        }];
NSBlockOperation *operation3 = [NSBlockOperation blockOperationWithBlock:^{

        NSLog(@"123");
    }];
NSArray *operationArray = @[operation1, operation2, operation3];
for (int i = 1; i < operationArray.count; i++) {

        NSOperation *op = operationArray[i];
        [op addDependency:operationArray[i - 1]];
    }
[queue addOperations:ops waitUntilFinished:NO];

次のコンソール ログが期待されます。

asdf
asdf
123

しかし、実際の結果は次のとおりです。

asdf
123
asdf

なぜ?

4

1 に答える 1