如何取消performSelectorOnMainThread
?
我有这个代码:
myClass = [[MyClass alloc] init];
[myClass performSelectorOnMainThread:@selector(setupPlayer) withObject:nil waitUntilDone:YES];
如何取消performSelectorOnMainThread
?
我有这个代码:
myClass = [[MyClass alloc] init];
[myClass performSelectorOnMainThread:@selector(setupPlayer) withObject:nil waitUntilDone:YES];
根据文档:
您无法使用此方法取消排队的消息。
如果您对最初将消息排队的线程很小心,您可以+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget
通过调用同一线程来取消它。之前的答案缺少一个重要的部分:
您无法使用此方法取消排队的消息。如果您想要取消当前线程上的消息的选项,您必须使用 performSelector:withObject:afterDelay: 或 performSelector:withObject:afterDelay:inModes: 方法。