Junior — Middle
Nəzarətdə olan vəzifəni onun başlamasından əvvəl necə ləğv etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-də, növbədə olan və hələ başlamamış vəzifəni ləğv etmək üçün, vəzifə obyektində (Operation və ya URLSessionTask kimi) cancel() metodunu çağırmaq olar. Əgər vəzifə hələ başlamayıbsa, o, ləğv ediləcək və icra olunmayacaq.
OperationQueue istifadə edərək nümunə:
let operationQueue = OperationQueue()
let operation = BlockOperation {
print("Vəzifənin icrası")
}
operationQueue.addOperation(operation)
// Vəzifəni başlamazdan əvvəl ləğv et
operation.cancel()
Əgər vəzifə artıq icra olunursa, ləğv etmə onu dərhal dayandırmaya bilər, ona görə də vəzifə daxilində isCancelled bayrağını yoxlamaq və düzgün şəkildə sonlandırmaq vacibdir.