In meiner iPhone-App verwende ich die folgende Funktion, um nach einiger Verzögerung etwas zu tun
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;
Gibt es eine Möglichkeit, diesen performSelector abzubrechen und nach der Verzögerung etwas zu tun?
Ich dachte, es könnte nützlich sein, wenn Leute einen tatsächlichen Code sehen, also hier zwei, die ich verwende, um Sounds zu stoppen und zu wischen, wenn ich zu einem anderen Bildschirm gehe.
- (void)handleSwipeNext { [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(handleSwipeNext) object:nil]; [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(playPromptAndTarget) object:nil]; // do some swipe handling stuff }
quelle
Swift 4.0 Version:
NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(yourFunc), object: nil)
quelle