Sobes.tech
Junior — Middle

Hoe kan je de uitvoering van een taak gepland met DispatchWorkItem annuleren?

sobes.tech AI

Antwoord van AI

Om de uitvoering van een taak gepland met DispatchWorkItem in iOS te annuleren, wordt de methode cancel() gebruikt op het DispatchWorkItem-object zelf.

Voorbeeld:

let workItem = DispatchWorkItem {
    print("Taak wordt uitgevoerd")
}

DispatchQueue.global().async(execute: workItem)

// Taak annuleren
workItem.cancel()

Als de taak nog niet is begonnen, voorkomt het aanroepen van cancel() dat deze wordt uitgevoerd. Binnen het DispatchWorkItem kan de status van annulering worden gecontroleerd met isCancelled en hierop worden gereageerd, bijvoorbeeld:

let workItem = DispatchWorkItem {
    if workItem.isCancelled {
        return
    }
    // hoofdtaak
}

Zo wordt de taak geannuleerd via de methode cancel() van het DispatchWorkItem-object.