不符合不成问题ObservableObject
。您提供的代码可以在画布和模拟器中使用,并且也可以在设备上使用。我已经在自己的项目中遇到了有关iOS 13 Beta 6的问题,并花了很多时间进行故障排除。
self.presentationMode.value.dismiss()
在运行iOS 13 Beta 6的设备上运行使用Xcode Beta 5生成的项目时,其他情况(例如调用关闭模式视图)目前也已损坏。这可能是相同的问题。
我建议您等到Xcode Beta 6发布后对您的代码进行任何重大的结构更改,因为iOS 13 Beta 6可能是为处理Xcode Beta 6中所做的更改而开发的。
话虽这么说,如果您同时必须绝对更改以解决此问题,我发现使用@EnvironmentObject
而不是可以@ObservedObject
解决此问题。在您的示例中,这意味着要声明您的财产,如下所示:
@EnvironmentObject private var networkManager: NetworkManager
然后,当您创建视图时,可以NetworkManager
像这样传递a 作为环境对象:
ContentView()
.environmentObject(NetworkManager())