我有几个任务被分派到串行队列,特别是一些被分派到组的任务。在调度这些任务后,我想给用户取消它们的选项,即使它们已经被执行。
我找不到任何方法来取消排队的任务,然后我想我可以创建一个布尔标志,例如,quitRender 并测试该标志是否为真并退出渲染,但这不起作用,我的解释是:当任务被触发时,标志 quitRender 为 NO,因此它们在块中执行并且块冻结它们开始时的值,块将不会看到更改并且永远不会退出。
然后我尝试了另一种方法:我创建了一个类似的方法
- (BOOL) cancelRender {
return quitRender;
}
这将运行并向块发送变量的当前值,但显然这些块继续看到 QuitRender 的 NO。
我错过了什么吗?如何使这项工作?
谢谢。