jsb*_*eJS 5 iphone ios swift swiftui xcode11
使用@ObservedObject它时,我无法显示我的视图。当我尝试显示该应用时,该应用崩溃了,并且出现以下错误:
线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x9)
该应用程序可以在模拟器上正常运行。它只会在我的身上崩溃
iPhone 6s iOS 13测试版6
Xcode Beta 5
那是我的基本代码:
class NetworkManager: ObservableObject {
}
struct ContentView : View {
@ObservedObject var networkManager: NetworkManager = NetworkManager()
var body: some View {
Text("Hi Stack")
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
Run Code Online (Sandbox Code Playgroud)
不符合不成问题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
Run Code Online (Sandbox Code Playgroud)
然后,当您创建视图时,可以NetworkManager像这样传递a 作为环境对象:
ContentView()
.environmentObject(NetworkManager())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
776 次 |
| 最近记录: |