Wan*_*use 1 nsoperation nsoperationqueue swift
使用operation.cancel()不会取消当前操作.如果队列中有操作,它似乎取消它,但如果它正在执行,那么它似乎不会停止它.
我是否需要将某些内容发送回我的子类操作中的main()函数以使其停止?
for operation in downloadQueue.operations {
if operation.name == opName {
if operation.isExecuting == true {
operation.cancel()
}
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅以下文档:https://developer.apple.com/reference/foundation/operationqueue
取消操作对象会将对象留在队列中,但会通知对象它应该尽快中止其任务.对于当前正在执行的操作,这意味着操作对象的工作代码必须检查取消状态,停止它正在执行的操作,并将自己标记为已完成.
基本上,您的操作代码应检查isCancelled并在需要时停止.例如,您可能有一个循环处理数据项,您可以在处理每个项目之前检查isCancelled.
| 归档时间: |
|
| 查看次数: |
779 次 |
| 最近记录: |