TGViewer
iOS Dev iOS Dev @iosdev · 7.92K subscribers
Post #1679 4.26K
Реализация мема: @escaping @Sendable @MainActor @autoclosure () async -> Void

Каждый раз, когда мы встречаем сложные термины, может казаться - что это поймут не только лишь все, но с помощью разбора теории и пары практических примеров почти всегда изначальная сложность исчезает или хотя бы кратно уменьшается.

📖 Статья Джейкоба Бартлетта посвящена реализации мема, который изначально заставил автора почувствовать синдром самозванца.

В ней последовательно разбираются атрибуты от escaping до MainActor, и в итоге Джейкоб приходит к варианту:

Task {
await allTheAttributes(await helloWorld())
}

func allTheAttributes(
_ then: @escaping @Sendable @MainActor @autoclosure () async -> Void
) async {
Task {
await then()
}
}

@MainActor func helloWorld() {
print("Hello, world!")
}


😅 Как говорится, не пробуйте это дома (или на продакшне без должных навыков).

Кстати, напомню, что в канале был пост с огромным глоссарием по Swift Concurrency.

✅ А вот тут есть примеры тем, вопросов - и несколько разборов подводных камней в Swift Concurrency.

😃 iOS Dev
  • 🔥 12
  • 👍 9
  • 🤯 3
  • ⚡ 2
  • 👏 2
More from @iosdev
  1. Oct 6, 2026⚡️ Apple обязали всех делать поддержку iPhone Duo с апреля 2027 года Сегодня выкатили обно…
  2. Oct 5, 2026iPhone Duo UIKit Q&A: большая подборка ответов от инженеров Apple 📖 В своём блоге Антон с…
  3. Oct 1, 2026SwiftUI Charts и динамическое маскирование Одним из применений для диаграмм является разны…
  4. Sep 29, 2026⚡️Сегодня ночью десятки тысяч приложений массово начали крашиться из-за либы для аналитики…
  5. Sep 28, 2026От pbxproj к xcproj: разбор конфигураций проекта 📖 В этой статье можно посмотреть на новы…
  6. Sep 25, 2026Симулятор iPhone Duo: тестирование и оптимизация приложения Как только был анонсирован iPh…
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 →