TGViewer
Мобильная разработка Мобильная разработка @mobi_dev · 13.1K subscribers
Post #4811 1.02K
Swift 6.4 позволяет дождаться очистки в defer

После отмены задачи приложению всё ещё может понадобиться завершить очистку: отправить накопленные метрики или закрыть ресурс. Асинхронная операция при этом сама может реагировать на отмену.

В Swift 6.4 можно вызывать async-функции внутри defer: выполнение дождётся их завершения перед выходом. Для участка, который нужно защитить от отмены родительской задачи, появился withTaskCancellationShield.

В примере команды Swift защищённый блок отправляет метрики и закрывает файловый дескриптор. Такой участок стоит оставлять небольшим: защищать конкретную завершающую операцию, чтобы после отмены пользовательской задачи приложение не продолжало лишнюю работу.
  • 👍 1
  • 🎉 1
More from @mobi_dev
  1. Oct 12, 2026KMP-плагин прекращает поддержку редактирования Swift В новых версиях IntelliJ IDEA и Andro…
  2. Oct 12, 2026В Kotlin появятся companion-блоки и расширения Фабричный метод можно будет добавить типу,…
  3. Oct 11, 2026Как собрать Swift-пакет через Gradle без CocoaPods Kotlin/Native получает привязки к Apple…
  4. Oct 11, 2026Как проверить SF Symbols до запуска приложения Название иконки выглядит правдоподобно, но…
  5. Oct 11, 2026Почему KMP-код красный в IDE, но успешно собирается Общий код KMP иногда видит платформенн…
  6. Oct 10, 2026От чатбота к агентам: опыт Митчелла Хашимото Для работы с кодом Хашимото перешёл от отдель…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →