Junior — Middle
How can a queued task be canceled before it starts?
sobes.tech AI
Answer from AI
In iOS, to cancel a task that is queued but not yet started, you can call the cancel() method on the task object (for example, Operation or URLSessionTask). If the task has not yet begun execution, it will be canceled and will not run.
Example using OperationQueue:
let operationQueue = OperationQueue()
let operation = BlockOperation {
print("Executing task")
}
operationQueue.addOperation(operation)
// Cancel the task before it starts
operation.cancel()
If the task is already running, cancellation may not stop it immediately, so inside the task, it is advisable to check the isCancelled flag and terminate the work properly.