【发布时间】:2012-02-02 12:10:30
【问题描述】:
我试图弄清楚为什么在添加到 NSOperationQueue(iOS5,ARC)时没有执行具有依赖关系的 NSOperation:
@implementation NSOperationTest {
NSOperationQueue *_operationQueue;
}
- (id)init {
self = [super init];
if (self) {
_operationQueue = [[NSOperationQueue alloc] init];
}
return self;
}
-(void) test
{
NSBlockOperation *op1 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"op1 running");
}];
NSBlockOperation *op2 = [NSBlockOperation blockOperationWithBlock:^{
NSLog(@"op2 running");
}];
[op2 addDependency:op1];
[_operationQueue addOperation:op2];
}
@end
这让我抓狂了,这里op1 应该在op2 之前执行,但是在没有依赖关系的情况下添加任何一个都可以正常工作。有人知道为什么吗?
提前致谢。
【问题讨论】:
标签: iphone cocoa-touch ios5 nsoperation nsoperationqueue