在我的iPhone应用程序中,我使用以下功能在延迟一段时间后执行某些操作
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;
有没有办法取消这个performSelector并在延迟后停止做某事?
答案 0 :(得分:180)
[NSObject cancelPreviousPerformRequestsWithTarget:yourTarget selector:aSelector object: anArgument];
答案 1 :(得分:2)
我认为人们看到一些实际的代码可能会有用,所以这里有两个我用来停止声音并在我去另一个屏幕时滑动。
- (void)handleSwipeNext {
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(handleSwipeNext) object:nil];
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(playPromptAndTarget) object:nil];
// do some swipe handling stuff
}
答案 2 :(得分:1)
Swift 4.0版本:
:- use_module(library(clpfd)).
convert(0,0).
convert(s(X),R) :-
R #> 0,
Y #= R-1,
convert(X,Y).