【发布时间】:2020-06-06 20:42:53
【问题描述】:
如果我添加 EnviromentObject 属性包装器,Xcode 预览将不起作用。每次我添加一个 Canvas 时,我都会收到此错误:
无法在此文件中预览 - [App Name].app 可能已崩溃
如果我用ObservedObject 替换EnviromentObject 属性包装器并初始化它一切正常。
这是我的代码:
class NetworkManager: ObservableObject {
}
struct ContentView : View {
@EnvironmentObject var networkManager: NetworkManager
var body: some View {
Text("Canvas not working")
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView().environmentObject(NetworkManager())
}
}
#endif
更新:
当我使用绑定时,它也不会加载预览:
struct ContentView : View {
@EnvironmentObject var networkManager: NetworkManager
@Binding var test123: String
var body: some View {
Text("Canvas not working")
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
@State static var test1 = ""
static var previews: some View {
ContentView(test123: $test1).environmentObject(NetworkManager())
}
}
#endif
【问题讨论】:
-
您的示例在 Beta 5 中构建和预览对我来说很好。您能确认您发布的实际示例崩溃了吗?我猜你没有包括整个 NetworkManager。
标签: ios iphone xcode swiftui xcode11