TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.18K subscribers
Post #4232 435
Потоко-защищённая шина событий в Swift

В крупных приложениях для iOS взаимодействие между компонентами зачастую оказывается сложнее, чем сам компонент. Сервис завершает операцию, координатор должен отреагировать, возможно, потребуется обновить несколько экранов, и передача каждой зависимости по всему дереву навигации быстро начинает казаться излишней «рутинной» работой. Внедрение зависимостей и управление состоянием по-прежнему имеют своё место. Шина (данных) событий предоставляет нам ещё один инструмент для слабосвязанных уведомлений, где прямое управление добавило бы ненужную сложность. Цель этого компонента проста: позволить одной части приложения публиковать событие, а другим частям приложения — подписываться на события определенного типа. Реализация сосредоточена на типовой безопасности, потокобезопасном хранении, автоматической очистке при деаллокации владельца, явной отмене отдельных подписок, доставке MainActor для кода пользовательского интерфейса и поддержке AsyncStream для потребителей async/await.

Статья: https://habr.com/ru/articles/1042258/
Платформа: iOS

👨‍🦯‍➡️ AppFiles: код, инструменты, практики, производительность
More from @applib
  1. Oct 9, 2026Как использование нейросетей изменило игровую индустрию и homebrew-cцену Игровая индустрия…
  2. Oct 9, 2026📺 Видео и подкасты за неделю • (iOS En) Pinterest Context Menu Using SwiftUI • (iOS En) C…
  3. Oct 9, 2026Spock ADB - отладка Android-приложений без выхода из IDE Анализируйте, управляйте и отлажи…
  4. Oct 8, 2026Игра на Kotlin, Jetpack Compose и Filament: что сработало, а что нет Начиналось всё как не…
  5. Oct 8, 2026Redlamp - фото-редактор для Mac, iPad и iPhone Нативный RAW фото-редактор с открытым исход…
  6. Oct 8, 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 →