如何停止执行选择器?

Jac*_*cob 5 objective-c selector ios

我想弄清楚如何停止执行选择器

我可以通过这样做来开始

            [self performSelector:@selector(vibe)];
Run Code Online (Sandbox Code Playgroud)

但我想弄清楚我怎么能阻止一个人.

任何帮助将非常感谢..谢谢!

tit*_*coy 9

performSelector:方法相当于直接向接收器发送选择器消息,因此无法取消.即,这两行具有相同的效果:

[self performSelector:@selector(vibe)];
[self vibe];
Run Code Online (Sandbox Code Playgroud)

cancelPreviousPerformRequestsWithTarget:(以及类似)方法只能取消未立即执行选择的消息.您可以通过performSelector:withObject:afterDelay:(和类似的)方法发送此类消息.

有关详细信息,请参阅Apple线程编程指南的" 运行循环管理"部分的表3-2 .


jtb*_*des 7

[NSObject cancelPreviousPerformRequestsWithTarget:self];
// or
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(vibe) object:nil];
Run Code Online (Sandbox Code Playgroud)