当应用程序/视图控制器离开前台时,无效对象导致领域崩溃

时间:2018-07-25 20:35:13

标签: ios swift realm

我有一个MainViewController,它引用了扩展Realm Object的对象数组。

我注意到在特定情况下Realm对象数组变得无效。

  1. MainViewController收到诸如互联网连接已更改之类的通知。
  2. 按下主屏幕按钮将应用程序置于后台。
  3. 通知观察者的目标函数已执行,并尝试访问Realm对象的数组。
  4. 所有对象均无效,并导致应用崩溃。

应用程序崩溃的原因是因为在未查看应用程序/视图控制器时无法访问Realm对象吗?

我已经检查过该应用,并且在执行这些操作期间未删除/修改对象数组。

1 个答案:

答案 0 :(得分:0)

根据isInvalidated的文档

  

如果已从管理对象的领域中删除该对象,或者在该领域上调用了invalidate(),则无法再访问该对象。

由于您已经确认没有删除对象,因此很有可能正在领域上调用invalidate()。确保您不在某个地方打电话。

如果仍在发生,请尝试创建一个小示例项目来展示问题并将其作为错误提交给Realm。他们对显示问题的项目的错误报告非常敏感。