cancelAllOperations funktioniert nicht für [NSOperationQueue mainQueue]

9

cancelAllOperations() funktioniert nicht in der mainQueue (die Methode cancel() wird für das Objekt NSOperation nicht aufgerufen). Fehle ich etwas? Ich muss alle Operationen durchlaufen und die Methode cancel() aufrufen, damit es funktioniert.

    
Alexander 21.12.2011, 13:38
quelle

2 Antworten

5

Ich kann auch bestätigen, dass cancelAllOperations nicht auf [NSOperationQueue mainQueue] funktioniert (zumindest auf meinem iOS 5.0 Simulator). Könnte absichtlich so entworfen werden, da es eine gemeinsame Instanz ist.

Meine einfache Problemumgehung besteht lediglich darin, NSOperation oder NSBlockOperation von der Unterklasse zu entfernen, ohne etwas zu überschreiben, und dann etwas wie folgt zu tun:

%Vor%     
Rollin_s 12.01.2012 23:19
quelle
0

Yeah kann auch bestätigen, dass es die cancel-Methode für die Operationen nicht aufruft, sondern setzt isCancelled = YES

Meine Lösung: [[[NSOperationQueue mainQueue] operations] makeObjectsPerformSelector:@selector(cancel)];

    
trapper 15.02.2017 03:54
quelle

Tags und Links