Fuente
Затишна Галера | iOSКомпас 🧭1️⃣4️⃣0️⃣ Завдання 140Чи потрібно відстежувати статус задач...
540 Vistas/Alcance
2026-02-04 09:21
Mensaje №2380
#iOSКомпас 🧭1️⃣4️⃣0️⃣ Завдання 140Чи потрібно відстежувати статус задачі в DispatchWorkItem?Доброго здровля мої любі друзі. З вами ваш незмінний ios розробник Сергій з @badlinkschannel.Так, відстеження статусу задачі в DispatchWorkItem може бути корисним, але це залежить від вимог застосунку.🔣 Коли це корисно?Якщо задачу можна скасувати (cancel())
Якщо потрібно реагувати на факт скасування через isCancelledЯкщо логіка залежить від моменту завершення задачі*let workItem = DispatchWorkItem {print(“Задача виконується”)}DispatchQueue.global().async(execute: workItem)workItem.cancel()if workItem.isCancelled {print(“Задачу скасовано”)} else {print(“Задачу виконано або вона вже почала виконуватись”)}
🔣 Чи можна перевірити, чи завершена задача?Прямого прапорця завершення в DispatchWorkItem немає.Для цього використовується notify, який гарантовано викликається після завершення виконання:let workItem = DispatchWorkItem {print(“Задача виконується”)}workItem.notify(queue: .main) {print(“Задача завершена”)}DispatchQueue.global().async(execute: workItem)
🔣 Чи потрібно завжди відстежувати статус?Короткі та ізольовані задачі - можна не відстежувати.Задачі з відміною, залежностями або бізнес-критичною логікою - відстежувати обовʼязково.@Zatishna_Galera