[NSOperation cancelAllOperations]; n'arrête pas l'opération
xCode 4.4.1 OSX 10.8.2, ressemble à [opération cancelAllOperations]; n'est-ce pas de travail
- (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];
}
}
résultats de 9999999
source d'informationauteur Awesome
Vous devez vous connecter pour publier un commentaire.
À l'intérieur de votre bloc, en particulier à l'intérieur de la boucle, appel
-isCancelled
sur l'opération. Si c'est vrai, alors de retour.Une file d'attente ne pouvez pas arrêter l'opération de l'exécution arbitraire - ce que si certaines ressources partagées ont été utilisés par l'opération qui n'a jamais nettoyé? Il est de votre responsabilité d'ordonnée à la fin de l'opération, lorsque l'on sait être annulée. De Apple docs: