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