Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Can';不要在真正的iPhone上使用@ObservedObject_Ios_Swift_Iphone_Swiftui_Xcode11 - Fatal编程技术网

Ios Can';不要在真正的iPhone上使用@ObservedObject

Ios Can';不要在真正的iPhone上使用@ObservedObject,ios,swift,iphone,swiftui,xcode11,Ios,Swift,Iphone,Swiftui,Xcode11,当视图中使用@ObservedObject时,我无法使其显示。当我尝试演示应用程序时,应用程序崩溃,出现以下错误: 线程1:EXC\u错误访问(代码=1,地址=0x9) 该应用程序在模拟器上运行良好。它只会砸到我的头上 iPhone 6s iOS 13 beta 6 Xcode测试版5 这是我的基本代码: 类网络管理器:observeObject{ } 结构ContentView:View{ @ObservedObject变量networkManager:networkManager=netwo

当视图中使用
@ObservedObject
时,我无法使其显示。当我尝试演示应用程序时,应用程序崩溃,出现以下错误:

线程1:EXC\u错误访问(代码=1,地址=0x9)

该应用程序在模拟器上运行良好。它只会砸到我的头上

iPhone 6s iOS 13 beta 6

Xcode测试版5

这是我的基本代码:

类网络管理器:observeObject{
}
结构ContentView:View{
@ObservedObject变量networkManager:networkManager=networkManager()
var body:一些观点{
文本(“Hi堆栈”)
}
}
#如果调试
结构内容视图\u预览:PreviewProvider{
静态var预览:一些视图{
ContentView()
}
}
#恩迪夫

这不是不符合
可观察对象的问题。您提供的代码可以在画布和模拟器中工作,也可以在设备上工作。在我自己的项目中,我已经在iOS 13 Beta 6中遇到了这个问题,并且花了很多时间进行故障排除

当在运行iOS 13 Beta 6的设备上运行使用Xcode Beta 5构建的项目时,其他功能(例如调用self.presentationMode.value.disease()
以关闭模式视图)当前也会中断。以前的Xcode Beta无法在iOS的新Beta上工作,这可能是同一个问题

我建议您等到Xcode Beta 6发布后再对代码进行任何重大的结构更改,因为iOS 13 Beta 6的开发可能是为了应对Xcode Beta 6中的更改

也就是说,如果您必须同时对解决此问题的方法进行更改,我发现使用
@EnvironmentObject
而不是
@ObservedObject
可以解决此问题。在您的示例中,这意味着像这样声明您的属性:

@EnvironmentObject private var networkManager:networkManager
然后,在创建视图时,可以将
NetworkManager
作为环境对象传递,如下所示:

ContentView()
.environmentObject(NetworkManager())

使用Xcode 11 beta 6更新您的项目。这解决了问题。我可以用我正在使用的应用程序确认。今天终于出来了

您的
网络管理器
不符合
可观察对象
?是使用MMVM和Combine的示例回购。我认为您只需要添加
让objectWillChange=PassthroughSubject()
,并在设置数据时随时调用它。您可以通过调用.wrappedValue而不是.value来修复presentationModes Disclose。我从未想过要尝试这样做。谢谢我一直试图谷歌这个问题这么长时间!非常感谢。XCode 11 beta 6无法解决我的iPhone iOS 13 beta 7上的问题。我尝试了EnvironmentObject解决方案,但它只创建了其他运行时错误。@K.Law如果您遇到无法通过删除
@ObservedObject
实例解决的崩溃,那么您遇到的问题可能完全是其他问题。我建议你发布一个新问题,这样我们就可以看到你遇到了什么错误。你是在手机上运行应用程序的吗?我的代码可以在iPad上运行,但不能在手机上运行。是的,它可以在手机上运行。我正在安装测试版的iPhone8上进行测试。