繁体   English   中英

可可Mac取消后台进程

[英]Cocoa Mac Cancel Background Process

我有一个称为“ startTask”的无效方法。

单击按钮后,我在后台启动“ startTask”,如下所示:

[self performSelectorInBackground:@selector(startTask) withObject:nil];

我想在单击按钮时取消此过程,但是我无法弄清楚该如何做,请问有人可以帮助吗?

提前致谢

我将使用NSOperation和NSOperationQueue。 这些允许取消。 线程需要更多的工作来获取信号。

编辑-例如

创建一个子类化NSOperation的简单类

在您的实现中,实现-(void)main(){ }方法。 执行操作时将调用此方法。

在要从中启动文件的文件中,创建NSOperationQueue的成员变量。

当您要启动任务时,请创建操作并将其添加到队列中。 它会异步运行,您可以取消它。

这是iOS的问题,但我认为iPhone上的 Cocoa NSOperation应该是相同

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM