如何向NSOperationQueue添加多个操作?

时间:2012-01-05 21:52:41

标签: iphone codeblocks nsoperation nsoperationqueue

我希望并行化某些类似于以下示例的代码。我试图将一个循环的10个连续迭代添加到块操作中,我面临的问题是只有第一个块被执行。

 NSMutableArray *arrayOfOps=[[NSMutableArray alloc] init];

for (int i=0; i<totalCount()+10; i=i+10) { NSBlockOperation *op=[NSBlockOperation blockOperationWithBlock:^{ for (int hh=i; (hh<=10)&(hh<totalCount); hh++) { //some code } }]; [arrayOfOps addObject:op]; } [OperationQueue addOperations:arrayOfOps waitUntilFinished:YES]; [arrayOfOps removeAllObjects]; [arrayOfOps release];

1 个答案:

答案 0 :(得分:-1)

在将数据提交到操作队列后,您将使用“removeAllObjects”从数组中删除操作。操作队列可能只保留数组,而不是复制它,因此删除操作会影响队列的行为。

只需删除该行就可以了。