Junior — Middle
Kā var atcelt uzdevumu, kas atrodas rindā pirms tā uzsākšanas?
sobes.tech AI
Atbilde no AI
iOS, lai atceltu uzdevumu, kas atrodas rindā, bet vēl nav uzsākts, var izsaukt metodi cancel() uz uzdevuma objekta (piemēram, Operation vai URLSessionTask). Ja uzdevums vēl nav sācies, tas tiks atcelts un netiks izpildīts.
Piemērs ar OperationQueue:
let operationQueue = OperationQueue()
let operation = BlockOperation {
print("Uzdevuma izpilde")
}
operationQueue.addOperation(operation)
// Atcelt uzdevumu pirms tā uzsākšanas
operation.cancel()
Ja uzdevums jau ir izpildē, atcelšana to var neapturēt nekavējoties, tāpēc uzdevuma iekšienē ir jāskatās isCancelled karogs un jāveic pareiza pabeigšana.