Junior — Middle
¿Cómo se puede cancelar una tarea que está en la cola antes de que comience?
sobes.tech AI
Respuesta de la IA
En iOS, para cancelar una tarea que está en la cola pero aún no se ha iniciado, se puede llamar al método cancel() en el objeto de tarea (por ejemplo, Operation o URLSessionTask). Si la tarea aún no ha comenzado, será cancelada y no se ejecutará.
Ejemplo usando OperationQueue:
let operationQueue = OperationQueue()
let operation = BlockOperation {
print("Ejecución de la tarea")
}
operationQueue.addOperation(operation)
// Cancelar la tarea antes de que comience
operation.cancel()
Si la tarea ya está en ejecución, cancelar puede no detenerla inmediatamente, por lo que dentro de la tarea se debe verificar la bandera isCancelled y finalizarla correctamente.