当touchesBegan再次开始时,如何取消touchesEnded中的代码

时间:2014-12-21 02:04:05

标签: ios xcode touchesbegan

我不知道这是否可行......我在touchesEnded中有这段代码:

[self performSelector:@selector(GameOver) withObject:nil afterDelay:3];

但是,如果在3秒钟之前再次触摸屏幕,我想取消对GameOver的调用。知道如何做到这一点。

在touchesBegan中,我尝试过这样的事情:

[NSObject cancelPreviousPerformRequestsWithTarget:self
                                         selector:@selector(touchesEnded:withEvent:)
                                           object:nil];

这不起作用。

1 个答案:

答案 0 :(得分:0)

selector来电,cancelPreviousPerformRequestsWithTarget您的performSelector值是错误的。如果GameOver中的原始选择器为GameOver,则显然您要取消的执行请求必须指定为{{1}}。

从文档中可以清楚地看到:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/index.html#//apple_ref/occ/clm/NSObject/cancelPreviousPerformRequestsWithTarget:selector:object