iPhone Как отменить остановку performSelector
в моем iPhone приложение, я использую следующую функцию, чтобы сделать что-то после некоторой задержки
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;
есть ли способ отменить этот performSelector и прекратить делать что-то после задержки?
3 ответов:
[NSObject cancelPreviousPerformRequestsWithTarget:yourTarget selector:aSelector object: anArgument];
Я подумал, что это может быть полезно для людей, чтобы увидеть какой-то фактический код, так вот два, которые я использую, чтобы остановить звуки и проводя, когда я иду на другой экран.
- (void)handleSwipeNext { [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(handleSwipeNext) object:nil]; [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(playPromptAndTarget) object:nil]; // do some swipe handling stuff }
версия Swift 4.0:
NSObject.cancelPreviousPerformRequests(withTarget: self, selector: #selector(yourFunc), object: nil)
Comments