iPhone如何取消停止performSelector

时间:2010-09-06 05:43:14

标签: iphone

在我的iPhone应用程序中,我使用以下功能在延迟一段时间后执行某些操作

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay;

有没有办法取消这个performSelector并在延迟后停止做某事?

3 个答案:

答案 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).