只有在第一次运行时,Realm对象才会在写入之前变为“invalidated”

时间:2015-09-03 05:45:36

标签: ios swift realm

这一次伤得很厉害!

我创建了一个像var job = Job()这样的实体并将其传递给一些具有var job: Job?属性的视图控制器,每个视图控制器都是一个在job上设置一些属性的表单。 ,最终视图有一个提交按钮,通过网络发送作业并将其写入realm.write {}等。

现在,我得到所有类型的Object has been deleted or invalidated.RLMArray is no longer valid.领域异常,在进入最后一个视图甚至编写实体之前崩溃了应用程序,这只会在全新安装后首次运行时发生!它在第一次崩溃后工作正常。我整天都在调试,无法弄清楚为什么会这样。

有没有人与领域有类似的经历/问题?

1 个答案:

答案 0 :(得分:2)

所以这个问题得到了正确的结束,我将在这里总结一下我们在该主题中的讨论。

问题不在于job本身没有失效,而是job有一个名为user的子Realm对象属性,而且这个属性变得无效。

数据库中的所有用户都被清除,以便为从服务器下载的新列表让路,并且该事务是导致此问题的原因。

因此,根据经验,我认为从这个问题中得出的结论是要小心删除事务,因为它们可能会对删除时可能引用对象的其他对象产生隐式影响。

相关问题