这一次伤得很厉害!
我创建了一个像var job = Job()
这样的实体并将其传递给一些具有var job: Job?
属性的视图控制器,每个视图控制器都是一个在job
上设置一些属性的表单。 ,最终视图有一个提交按钮,通过网络发送作业并将其写入realm.write {}
等。
现在,我得到所有类型的Object has been deleted or invalidated.
,RLMArray is no longer valid.
领域异常,在进入最后一个视图甚至编写实体之前崩溃了应用程序,这只会在全新安装后首次运行时发生!它在第一次崩溃后工作正常。我整天都在调试,无法弄清楚为什么会这样。
有没有人与领域有类似的经历/问题?
答案 0 :(得分:2)
所以这个问题得到了正确的结束,我将在这里总结一下我们在该主题中的讨论。
问题不在于job
本身没有失效,而是job
有一个名为user
的子Realm对象属性,而且这个属性变得无效。
数据库中的所有用户都被清除,以便为从服务器下载的新列表让路,并且该事务是导致此问题的原因。
因此,根据经验,我认为从这个问题中得出的结论是要小心删除事务,因为它们可能会对删除时可能引用对象的其他对象产生隐式影响。