Sobes.tech
Junior — Middle

Kuidas saab tühistada DispatchWorkItem abil planeeritud ülesande täitmise?

sobes.tech AI

Vastus AI-lt

iOS-s saate plaanitud ülesande tühistamiseks DispatchWorkItem abil kasutatakse meetodit cancel() otse DispatchWorkItem objektil.

Näide:

let workItem = DispatchWorkItem {
    print("Ülesande täitmine")
}

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

// Tühista ülesanne
workItem.cancel()

Kui ülesanne pole veel alanud, takistab cancel() selle täitmist. DispatchWorkItem sees saate kontrollida tühistamise olekut isCancelled abil ja vastavalt reageerida, näiteks:

let workItem = DispatchWorkItem {
    if workItem.isCancelled {
        return
    }
    // põhitegevus
}

Seega toimub ülesande tühistamine DispatchWorkItem objekti cancel() meetodi kaudu.