Dość podstawowy problem.Zatrzymanie performSelector: od wykonania
[self performSelector:@selector(startSequence:) withObject:nil afterDelay:1.0];
Jednak czy istnieje sposób, aby to zatrzymać po jego nazwie? Dzięki za pomoc Disco
Dość podstawowy problem.Zatrzymanie performSelector: od wykonania
[self performSelector:@selector(startSequence:) withObject:nil afterDelay:1.0];
Jednak czy istnieje sposób, aby to zatrzymać po jego nazwie? Dzięki za pomoc Disco
Chcesz +[NSObject cancelPreviousPerformRequestsWithTarget:]
. Jeśli oczekujących jest wiele żądań wykonania, spowoduje to ich anulowanie.
Jeśli potrzebujesz precyzyjniejszego sterowania, możesz użyć +[NSObject cancelPreviousPerformRequestsWithTarget:selector:object:]
. Wszystko zgodne z predykatem jest anulowane; jeśli masz wiele identycznych żądań oczekujących, nie ma mechanizmu, aby anulować jeden.
Na pewno jest;
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(startSequence:) object:nil];
Jeśli wywołasz polecenie 'performSelector: afterDelay:' w głównym wątku, upewnij się, że wywołujesz 'cancelPreviousPerformRequestsWithTarget:' również w głównym wątku. W przeciwnym razie nie zostanie anulowane! – malex