0

嘿,我有一个任务,我需要在后台线程中执行一个选择器,我需要在其中进行一些视频编码。任务很顺利。但是,如果我按下后退按钮,那么我希望该方法应该是停止/终止。但它并没有停止。

我搜索了很多,但没有找到满意的答案。我尝试了“cancellAllPreviousRequests”并且还寻找了 NSQueueOperation 但找不到如何使用它来停止后台选择器。任何人都可以帮助我提供相关代码。

先感谢您。

4

1 回答 1

1

您需要一个并发NSOperation,它通过其isCancelled属性定期检查它是否已被取消。然后您可以调用或的cancel方法来停止后台任务。请记住,调用实际上并没有停止操作,而是设置了一个布尔属性,操作应该定期检查它是否应该杀死自己(停止做它正在做的事情)。您多久检查一次操作代码中的标志取决于您。NSOperationcancelAllOperationsNSOperationsQueuecancelisCancelled

如需进一步阅读,请参阅此处此处

于 2013-02-13T05:40:57.863 回答