回答編集履歴

2

プロパティラッパーについて追記。

2020/02/12 10:15

投稿

eytyet
eytyet

スコア803

test CHANGED
@@ -37,3 +37,9 @@
37
37
 
38
38
 
39
39
  こんな風に静的に値を与えて使うのが、プレビューの意図している使い方なのかなと思っています。
40
+
41
+
42
+
43
+ [SWIFTチュートリアル](https://developer.apple.com/tutorials/swiftui/handling-user-input)
44
+
45
+ なお、ここで説明されているように、`var shop: ShopData`は`@EnvironmentObject var shop: ShopData` などとプロパティラッパーを使っていくようにする必要もあると思います。

1

語尾訂正。

2020/02/12 10:15

投稿

eytyet
eytyet

スコア803

test CHANGED
@@ -1,4 +1,4 @@
1
- プレビューを作成する段階で、`ShopDetail`が初期化されていないのが原因で
1
+ プレビューを作成する段階で、`ShopDetail`が初期化されていないのが原因でしょう
2
2
 
3
3
  プレビューはプログラム全体が起動しているのではなく、`PreviewProvider`の定義内だけ簡易的に実行する感じなので、その外にあるShopDetailは初期化されない状態で読み出されてしまうのかなと思います。
4
4
 
@@ -36,4 +36,4 @@
36
36
 
37
37
 
38
38
 
39
- こんな風に内部で閉じて、静的に値を与えて使うのが、プレビューの意図している使い方なのかなと思っています。
39
+ こんな風に静的に値を与えて使うのが、プレビューの意図している使い方なのかなと思っています。