XCode 16.4 日本語化計画:
ビューの環境に監視可能なオブジェクトを配置します。
nonisolated func environment<T>(_ object: T?) -> some View where T : AnyObject, T : Observable
object
環境内でこのオブジェクトの型に設定すべきオブジェクト、または環境からこの型のオブジェクトをクリアすべき場合は nil です。
指定されたオブジェクトをその環境内に持つビュー。
この修飾子を使用すると、Observable() マクロで宣言したオブジェクトをビューの環境に配置することができます。例えば、カスタムの監視可能な Profile クラスのインスタンスを ContentView の環境に追加できます。
@Observable class Profile { ... } struct RootView: View { @State private var currentProfile: Profile? var body: some View { ContentView() .environment(currentProfile) } }
次に、Environment プロパティラッパーを使用して、ContentView またはその子孫のいずれかの内部のオブジェクトを読み取ります。
struct ContentView: View { @Environment(Profile.self) private var currentProfile: Profile var body: some View { ... } }
この修飾子は、与えられたビューとその子孫ビューの両方に影響します。この修飾子を呼び出したビュー階層の外部には全く影響しません。与えられたビュー階層の環境には、与えられた型の監視可能なオブジェクトが 1 つだけ保持されます。
func environment<V>(WritableKeyPath<EnvironmentValues, V>, V) -> some View
指定されたキーパスの環境値を与えられた値に設定します。
指定されたキーパスの環境値を与えられた関数で変換します。