在我的代码中,我想单独处理队列中的操作,并且能够暂停和恢复队列中的操作操作。我怎样才能实现呢?在单个NSOperationQueue中管理多个操作像暂停/恢复单一操作
让我简单解释一下我的问题,我用下面的代码来创建子类NSOperation的操作,并将此操作添加到NSOperationQueue中。
@interface MyLengthyOperation: NSOperation
@end
@implementation MyLengthyOperation
- (void)main
{
// a lengthy operation
@autoreleasepool
{
for (int i = 0 ; i < 10000 ; i++)
{
// is this operation cancelled?
if (self.isCancelled)
break;
NSLog(@"%f", sqrt(i));
}
}
}
@end
我上面操作中创建和我与
NSOperationQueue *myQueue = [[NSOperationQueue alloc] init];
myQueue.name = @"Download Queue";
myQueue.maxConcurrentOperationCount = 4;
[myQueue addOperation:operation];
称它现在我想暂停和恢复我的操作。让我们假设循环是在6786上,然后按下暂停按钮,然后队列应该暂停这个操作,当我按下开始时,它应该从6786开始。
我想控制队列中的多个操作。我怎样才能做到这一点 ?
我看着[queue setSuspended:YES];
- 这将阻止队列添加新的操作,但我想控制队列中的现有操作。
等待您的答案。
在此先感谢!
检查你的答案后,我认为这应该做一个窍门,我一定会尝试上面的代码,希望它会解决我的问题,并非常感谢你@ Paulw11快速和详细的答案。真的很欣赏它! – 2015-03-15 00:50:44