事象
以下のように、ObservableObjectを作って、EnvironmentObjectで使おうとすると、プレビューが使えなくなってしまいます。
class ImageData: ObservableObject {
@Published var imageString = "car"
@Published var imageColor = Color.red
}
struct ContentView: View {
@EnvironmentObject var imageData: ImageData
var body: some View {
Image(systemName: imageData.imageString)
.foregroundColor(imageData.imageColor)
}
}
このようなよくわからないウィンドウが表示されます。。

原因
プレビューに、.environmentObjectを追加していないから。
解決方法
プレビューに以下のように.environmentObject()を追加する。
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
.environmentObject(ImageData())
}
}

