我在一个队列中有几个操作,并逐个设置依赖关系。如果一个操作失败,我希望取消以下所有操作。但是在调用[queue cancelAllOperations]之后,操作将不会从队列中删除或停止。 取消操作不会自动将其从队列中删除或停止当前正在执行的操作。对于排队和等待执行的操作,队列必须仍然尝试执行操作,然后才能识别它已被取消并将其移至完成状态。 我怎么能取消所有剩余的操作?感谢。
答案 0 :(得分:2)
voteButton(sender:UIButton)
有一个已取消的属性,可以由您或NSOperation
在单个操作中明确设置以响应NSOperationQueue
消息。操作应该使用cancelAllOperations
方法检查此属性。对于将快速完成的操作,不值得实施此检查。如果操作需要很长时间(几秒或更长时间),它应该定期执行以下操作:
main
This blog精美地解释了这个概念!