Система окружения в SwiftUI позволяет передавать данные неявно вниз по иерархии представлений, что означает, что любое дочернее представление может получить доступ к внедрённым значениям без необходимости явной передачи параметров на каждом уровне.
.environment() или .environmentObject()@Environment или @EnvironmentObjectContentView()
.environmentObject(userSettings)
Внедрение окружения:
Передача через инициализатор:
init каждого представленияСистема окружения решает проблему prop drilling, устраняя необходимость передавать значения через каждое промежуточное представление. Однако явная передача через инициализатор остаётся предпочтительным подходом, когда ясность и тестируемость — приоритеты для изолированных компонентов.
Property wrapper @Environment в SwiftUI позволяет потомкам доступаться к внедренным значениям без явной передачи параметров, но только если эти значения являются типами ObservableObject.
Новый — ещё не проверен сообществом
Вы