TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.65K subscribers
Post #74 801
🔢 @EnvironmentObject в SwiftUI.

@EnvironmentObject — это property wrapper, который позволяет передавать общие данные между несколькими View без явной передачи через инициализатор.

🤔 Как использовать:

♣️ Создаем ObservableObject:

class UserSettings: ObservableObject {
@Published var isDarkMode = false
}


♣️ Добавляем в Environment в корневом View:

@main
struct MyApp: App {
var settings = UserSettings()

var body: some Scene {
WindowGroup {
ContentView()
.environmentObject(settings) // Передаем объект в корневой вью
}
}
}


♣️ Используем в любом дочернем View:

struct ProfileView: View {
@EnvironmentObject var settings: UserSettings // Автоматическая подписка на объек в сабвью

var body: some View {
Toggle("Темная тема", isOn: $settings.isDarkMode)
}
}


⚠️ Ключевые особенности:
🔸 Автоматическое обновление: View перерисовывается при изменении @Published свойств.
🔸 Глобальный доступ: объект доступен в любой части иерархии View без цепочки @Binding.
🔸 Безопасность: если объект не передан в .environmentObject(), приложение крашнется — это помогает находить ошибки на раннем этапе.

✅ Когда использовать?
🔹 Для глобальных настроек (тема, язык, авторизация и т.д.).
🔹 Когда нужно делиться данными между несвязанными View.
🔹 Вместо долгих цепочек @Binding / @ObservedObject.

➡️ Подписаться на канал
Мобильный трудоголик
  • ❤ 18
  • 👍 11
  • ✍ 6
More from @hardworkerit
  1. Oct 10, 2026🔢 Переиспользуемые превью в SwiftUI. SwiftUI-превью часто начинаются с простого кода. Но…
  2. Oct 9, 2026👨‍💻 Умение адаптироваться - важный навык айтишника, который часто недооценивают. В ИТ не…
  3. Oct 8, 2026🈸 Apple обяжет разработчиков поддерживать iPhone Duo. Apple опубликовала требования к при…
  4. Oct 6, 2026🔢 Swift 6.4: новая диагностика ретейн циклов. В Swift 6.4 появилась новая диагностика, ко…
  5. Oct 4, 2026🔢 SwiftUI: определение угла раскрытия iPhone Duo. В iOS 27.1 появился модификатор .onHing…
  6. Oct 2, 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 →