停止performSelector:从执行

时间:2011-03-31 09:56:24

标签: iphone objective-c

非常基本的问题。

[self performSelector:@selector(startSequence:) withObject:nil afterDelay:1.0];

然而,有没有办法在它被调用后停止它? 谢谢你的帮助 迪斯科

2 个答案:

答案 0 :(得分:12)

你想要+[NSObject cancelPreviousPerformRequestsWithTarget:]。如果有多个执行请求在等待,这将取消所有请求。

如果您想要更精细的控制,可以使用+[NSObject cancelPreviousPerformRequestsWithTarget:selector:object:]。与谓词匹配的所有内容都被取消;如果您有多个相同的请求在等待,则没有机制可以取消单个请求。

答案 1 :(得分:11)

肯定有;

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