我试着去弄清楚如何停止执行选择如何停止执行选择器?
我可以做这个
[self performSelector:@selector(vibe)];
但是我试图找出我怎么能阻止一个启动一个。
任何帮助将非常感谢..谢谢!
我试着去弄清楚如何停止执行选择如何停止执行选择器?
我可以做这个
[self performSelector:@selector(vibe)];
但是我试图找出我怎么能阻止一个启动一个。
任何帮助将非常感谢..谢谢!
的performSelector:
方法等同于直接发送选择信息到接收器,所以它不能被取消。即,这两条线具有相同的效果:
[self performSelector:@selector(vibe)];
[self vibe];
的cancelPreviousPerformRequestsWithTarget:
(以及类似)方法只能取消未立即执行选择的消息。您可以通过performSelector:withObject:afterDelay:
(以及类似的)方法发送此类消息。
有关更多信息,请参阅Apple的线程编程指南的Run Loop Management部分的表3-2。
[NSObject cancelPreviousPerformRequestsWithTarget:self];
// or
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(vibe) object:nil];
这不是很明显,但我相信下面应该工作:
[NSObject cancelPreviousPerformRequestsWithTarget:self];
可能重复[iPhone如何取消停止performSelector](http://stackoverflow.com/questions/3649273/iphone-how-to-cancel-stop-performselector) – Caleb