Junior — Middle
¿Cómo se puede cancelar la ejecución de una tarea programada con DispatchWorkItem?
sobes.tech AI
Respuesta de la IA
Para cancelar la ejecución de una tarea programada con DispatchWorkItem en iOS, se utiliza el método cancel() en el propio objeto DispatchWorkItem.
Ejemplo:
let workItem = DispatchWorkItem {
print("Ejecución de la tarea")
}
DispatchQueue.global().async(execute: workItem)
// Cancelar la tarea
workItem.cancel()
Si la tarea aún no ha comenzado, llamar a cancel() evitará que se ejecute. Dentro del propio DispatchWorkItem, se puede comprobar el estado de cancelación con isCancelled y reaccionar en consecuencia, por ejemplo:
let workItem = DispatchWorkItem {
if workItem.isCancelled {
return
}
// trabajo principal
}
De esta forma, la cancelación de la tarea se realiza mediante el método cancel() del objeto DispatchWorkItem.