当前位置: 首页 > 面试题库 >

无法在真正的iPhone上使用@ObservedObject

齐元章
2023-03-14
问题内容

当它@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

问题答案:

不符合不成问题ObservableObject。您提供的代码可以在画布和模拟器中使用,并且也可以在设备上使用。我已经在自己的项目中遇到了有关iOS 13
Beta 6的问题,并花了很多时间进行故障排除。

self.presentationMode.value.dismiss()在运行iOS 13 Beta 6的设备上运行使用Xcode Beta
5生成的项目时,其他情况(例如调用取消模式视图)目前也已中断。以前的Xcode
beta版本存在问题,无法在iOS的较新beta版本上运行,这可能是相同的问题。

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

话虽这么说,但是如果您绝对必须同时进行更改以解决此问题,我发现使用@EnvironmentObject而不是可以@ObservedObject解决此问题。在您的示例中,这意味着要声明您的财产,如下所示:

@EnvironmentObject private var networkManager: NetworkManager

然后,当您创建视图时,可以NetworkManager像这样传递a 作为环境对象:

ContentView()
    .environmentObject(NetworkManager())


 类似资料:
  • 问题内容: 此功能在IE,Firefox和Chrome上均能完美运行,但在iPhone上,仅在单击时才能使用。单击页面(除了img以外的任何地方)都不会触发该事件。 HTML部分非常基础,不应成为问题。 有任何想法吗? 问题答案: 添加以下代码即可。 问题是iPhone不会引发点击事件。他们引发“触摸”事件。非常感谢苹果。他们为什么不能像其他所有人一样保持标准?无论如何,感谢Nico的提示。

  • 有人能告诉我在真正的iPhone设备上运行Appium的步骤吗 我已经下载了Appium 1.4 我已经设置了在Appium设置中定义的bundleID和UDID 我遇到了一些关于克隆Safari启动器和的链接,但我仍然不清楚步骤... 提前感谢 我得到以下错误 :setupDesiredCapabilitiesMobile org.openqa.selenium.SessionNotCreate

  • 我是NativeScript的新手,我刚刚制作了我的第一个应用程序。我的应用程序需要在真正的iPhone上进行测试;然而,我不知道如何在真正的iPhone上测试它,而不是在模拟器上。我试着查看appbuilder文档,但我不知道如何在iPhone上测试它。当我插上iPhone时,我试图使用,但我发现: 我不知道为什么我不能在iPhone上运行它。谁能告诉我如何在真正的iPhone上测试它,或者我做

  • 在iPhone上使用IAD显示间隙广告似乎有两种选择。有关间隙的文件已经过时,但根据iAds的补充参考,建立间隙所需的全部工作是: 其次是: (如果成功,则返回bool)每当您要显示广告时。 其他选项是手动创建间隙ad对象: 然后: 当你想展示广告时: 但是,不推荐使用PresentViewController,并使用PresentView:self。视图表示广告没有关闭按钮。编译器还建议Requ

  • 我有数字外置键盘USB,但在android emulator中没有检测到。如何使用它?谢谢你

  • 问题内容: 我正在运行Nutch 2.3.1,Mongodb 3.2.9和Elasticsearch 2.4.1。我遵循了本教程的内容: https://qbox.io/blog/scraping-the-web-with-nutch-for- elasticsearch 和本教程: http://www.aossama.com/search-engine-with-apache-nutch-mo