[SwiftUI] SwiftUI Previewの使い方

SwiftUI

Previewは、コード変更中でも動的にアップデートされて非常に便利なんですが、Viewが期待する変数が、Binding変数だったり、Environment変数だとうまく動きません。
以下、対応方法です。

Binding変数を期待しているケース

以下のようなコードを例に説明します。

View例

固定値で与えるのが、シンプルで良いです。(以下は、常にTRUEのBinding変数を与えています。)

Preview例

ConfigViewは、inConfigViewという変数がBindingであることを期待しているので、与えられないとPreviewであっても、うまく初期化できません。なので、適当な変数を与える必要があります。




EnvironmentObjectを期待しているケース

次に、以下のようなコードを例に説明します。

View例

実際には、親Viewであったりで.environmentObject()を使って付与されているケースが多いと思うのですが、Previewには、親Viewはありませんので、自分で付与する必要があります。

Preview例

ConfigViewは、内部で、clockClipModelを、environmentObjectとして参照しているので、ここで付与しています。
MEMO
Previewのコードを見るとわかるのですが、staticで定義されているので、変数もstaticに定義する必要があります。

説明は以上です。




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です