如何取消触摸中的代码当触摸开始时结束再次开始



我不知道这是否可能...我有这段代码在触摸结束:

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

但是,如果您在 3 秒结束之前再次触摸屏幕,我想取消 GameOver 的调用。 知道我怎么能做到这一点。

在接触开始时,我尝试了这样的事情:

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

这行不通。

您的selector值在您的cancelPreviousPerformRequestsWithTarget调用中是错误的,仅此而已。如果performSelector中的原始选择器GameOver那么显然您必须将要取消的执行请求指定为 GameOver

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

最新更新