【SwiftUI】EnvironmentObject を ViewModel に渡す

EnvironmentObjectをViewModelに渡す方法について記載します。

1. 環境

Xcode : 12.2
Swift : 5

2. 構成

ContentView
ChildViewModel で設定した値を表示します。

ChildView
ContentView の 子ビュー。
ボタンを押したら、ChildViewModel の関数を呼び出します。

ChildViewModel
EnvironmentObject に値を設定します。
ここで設定した値が、ContentView に表示されます。

3. ポイント

特別なことはなく ChildViewModel で EnvironmentObject を受け取る関数を作り、ChildView から VM の関数を呼び出し設定します。

ChildViewModel

ChildView

4. コード全体

EnvironmentObject(ShareData.swift)

ContentView

ChildView

ChildViewModel

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする