Habiendo visto como funciona el @EnviromentObject podemos decir que la property wrapper @Environment
funciona de forma muy similar, permitiéndonos inyectar a nuestro código ciertos valores o propiedades, sin embargo en este caso nos permite inyectar valores, propiedades, keys predefinidas por el propio SwiftUI.
Siempre vendrá sucedido de (\.swiftUIKey)
@Environment(\\.dismiss) private var dismiss
var body: some View {
Button("Done") {
dismiss()
}
}
Cuando asignamos las propiedades podemos acceder a las mismas para definir métodos y realizar cambios en nuestra aplicación en función de dicho valor.
@Environment(\\.colorScheme) var colorScheme: ColorScheme
--
if colorScheme == .dark { // Checks the wrapped value.
DarkContent()
} else {
LightContent()
}