Sobes.tech
Junior — Middle

Kako otkazati zadatak koji je u redu pre njegovog pokretanja?

sobes.tech АИ

Одговор од АИ

Na iOS, za otkazivanje zadatka koji se nalazi u redu, ali još nije pokrenut, možete pozvati metodu cancel() na objektu zadatka (npr., Operation ili URLSessionTask). Ako zadatak još nije započeo, biće otkazan i neće biti pokrenut.

Primer sa OperationQueue:

let operationQueue = OperationQueue()
let operation = BlockOperation {
    print("Izvršavanje zadatka")
}
operationQueue.addOperation(operation)

// Otkaži zadatak pre njegovog pokretanja
operation.cancel()

Ako je zadatak već u toku, otkazivanje možda neće odmah zaustaviti, pa je važno unutar zadatka proveriti zastavicu isCancelled i pravilno ga završiti.