【发布时间】:2020-01-27 07:35:11
【问题描述】:
我的 OperationQueue 中有 3 个操作,我无法从中取消特定操作。
我提到了这个例子,但我无法理解 NSOperationQueue cancel specific operations
这是我的代码
class myOperation1 : Operation {
override func main() {
print("op1 (????) working....")
for i in 1...10 {
print("????")
}
}
}
class myOperation2 : Operation {
override func main() {
print("op2 (????) working....")
for i in 1...10 {
print("????")
}
}
}
class myOperation3 : Operation {
override func main() {
print("op3 (????) working....")
for i in 1...10 {
print("????")
}
}
}
let op1 = myOperation1()
let op2 = myOperation2()
let op3 = myOperation3()
op1.completionBlock = {
print("op1 (????) completed")
}
op2.completionBlock = {
print("op2 (????) completed")
}
op3.completionBlock = {
print("op3 (????) completed")
}
let opsQue = OperationQueue()
opsQue.addOperations([op1, op2, op3], waitUntilFinished: false)
DispatchQueue.global().asyncAfter(deadline: .now()) {
opsQue.cancelAllOperations()
}
简而言之,我想从 operationQueue 中取消第二个操作。
请指导我。
谢谢
【问题讨论】:
-
op2.cancel()不起作用? -
是的,它适用于
op2,但对于其他它不起作用
标签: ios nsoperationqueue nsoperation