在我的代碼中,我想單獨處理隊列中的操作,並且能夠暫停和恢復隊列中的操作操作。我怎樣才能實現呢?在單個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