2012-04-24 29 views
0

如何在NSOperationQueue中设置优先级,直到前一个操作完成才能执行下一个操作?如何在NSOperationQueue中设置优先级以执行下一个操作直到完成前一个操作?

NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init]; 
    [operationQueue setMaxConcurrentOperationCount:1]; 
    NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(addPhotoWithButton:) object:button]; 
    [operationQueue addOperation:operation]; 
    [operation release]; 
+0

这句话很混乱,我怀疑你的意思是“我怎样才能在NSOperationQueue设置优先级,直到前面的操作完成到不执行下一步操作?”。注意添加“不”。如果确实如此,那么你应该更新你的问题。 – 2012-04-24 00:46:34

回答

1

假设你的意思是你想在一个时间,那么我觉得你的问题是,你在呼唤setMaxConcurrentOperationCount串行或一个执行操作:1,然后通过覆盖失去参照该操作队列与另一个操作队列。所以你在做什么是正确的,你只需要将操作添加到队列中,并使用所需的操作数。你可能并不想这么做,事实上,我认为你会看到一个编译器警告。试试这个代码:

NSOperationQueue *operationQueue = [[NSOperationQueue alloc] init]; 
[operationQueue setMaxConcurrentOperationCount:1]; 
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(addPhotoWithButton:) object:button]; 
[operationQueue addOperation:operation]; 
[operation release]; 
相关问题