이 다루는 NSOperation
의 의존성 지원을 사용할 수 있습니다. 기본적으로 당신은 당신이 처음이 작업이 완료되면 실행하려는 코드를 실행하는 3 동작을 만든 다음 큐에 3 동작에 의존로 처음 두 작업을 추가하고 모두 추가 :
NSOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"op1!");
}];
NSOperation *op2 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"op2!");
}];
NSOperation *completionOp = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"op1 and op2 are complete!");
}];
[completionOp addDependency:op1];
[completionOp addDependency:op2];
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperation:completionOp];
[queue addOperation:op1];
[queue addOperation:op2];
출력한다 : 비록 completionBlock
먼저 큐에 추가되고,
op1!
op2!
op1 and op2 are complete!
주, 그것은 그것 때문에 op1
및 op2
에있는 종속의 마지막 실행합니다.
정확히 내가 무엇을 찾고 있었는지 !!!! –