这个真的很痛!
我创建了一个像 var job = Job()
这样的实体,并将它传递给一些具有 var job: Job?
属性的 View Controller ,每个 View Controller 是一种在 job
上设置一些属性的表单,最终 View 有一个提交按钮,它通过网络发送作业并将其写入 realm.write {}
等
现在,我得到各种对象已被删除或无效。
,RLMArray 不再有效。
Realm 异常在到达最后一个 View 之前使应用程序崩溃或甚至编写实体,这只会在全新安装后的首次运行时发生!第一次崩溃后它工作正常。我花了一整天调试,但无法弄清楚为什么会发生这种情况。
有没有人对 Realm 有类似的经历/问题?
最佳答案
所以这个问题得到了适当的解决,我将在这里总结我们在该线程中进行的讨论。
问题不是 job
本身没有失效,而是 job
有一个名为 user
的子 Realm 对象属性,并且那正在变得无效。
正在清除数据库中的所有用户,以便为从服务器下载的新列表让路,而该事务是导致此问题的原因。
因此,根据经验,我认为从这个问题中得出的结论是要小心删除事务,因为它们可能会对删除时可能引用该对象的其他对象产生隐式影响。
关于ios - Realm 对象在写入前获取 `invalidated`,仅在第一次运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32367805/