15
xCode 4.4.1 OSX 10.8.2,看起來像[operation cancelAllOperations];不工作[NSOperation cancelAllOperations];不停止操作
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSOperationQueue *operation = [[NSOperationQueue alloc] init];
[operation setMaxConcurrentOperationCount: 1];
[operation addOperationWithBlock: ^{
for (unsigned i=0; i < 10000000; i++) {
printf("%i\n",i);
}
}];
sleep(1);
if ([operation operationCount] > 0) {
[operation cancelAllOperations];
}
}
結果9999999
所以沒有辦法停止操作,直到它完成? – Awesome
有 - 在代碼中,你檢查isCancelled。如果這是真的,那麼你停止執行。操作自行停止,隊列只是告訴它取消。那有意義嗎? –
謝謝你:)我不明白。 – Awesome