我有一个 NSOperation
并且在 completionblock
中我做了一些耗时的保存到 CoreData。实际运行速度很快。有时我需要阻止此 completetionblock
运行。我看不到取消它的简单方法,所以我尝试设置 BOOl
并在必要时跳过其中的代码。然而,操作是在单例中运行的,另一个类需要运行队列(这就是为什么我需要取消 completionblock
)。关于如何取消 completeionblock
有什么想法吗?
最佳答案
您可以简单地将completionBlock
设置为nil
:
operation.completionBlock = nil
但我认为从另一个类取消操作的完成 block 可能是一种设计味道。您最终可能会得到难以维护和调试的代码,因为不清楚更改操作流程的原因和时间。
关于ios - 取消 NSOperation 完成 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27602068/