【问题标题】:How to fix this Realm Exception?如何修复此领域异常?
【发布时间】:2016-10-06 15:51:42
【问题描述】:

从我的数据库中删除一些项目后,我得到了这个 -> Realms.RealmInvalidObjectException:此对象已分离。是否已从领域中删除?

【问题讨论】:

  • 嗨,欢迎来到 Stack Overflow!为了以更好的方式帮助您,请向我们提供有关您的问题的一些额外信息:尝试隔离导致问题的代码段。如果可能的话,提供一些上下文来解释你正在尝试做什么以及你得到的结果。错误跟踪也很有帮助。
  • 这个异常意味着你试图访问你已经从领域中删除的对象。解决方案是使用 RealmChangeListener github.com/realm/realm-android-adapters 使您的结果与您的适配器保持同步
  • @epicpandaforce 感谢您的回复。我会看看 RealmChangeListener 是如何工作的
  • @EpicPandaForce 我正在使用 xamarin.forms!这应该只在android上吗?导致我的 ios 也崩溃了。
  • .......哦。好吧,我不可能仅仅通过阅读问题就知道这一点,对吗?

标签: xamarin realm


【解决方案1】:

在 Realm Xamarin 中,您必须使用 RealmResult Notifications 才能在数据库发生更改时收到通知。

考虑到 Realm 是零拷贝的,你从中获取的对象只是底层数据库的代理,如果你在 any 线程上删除一个对象,那么该对象将在每个线程上被删除Realm 的线程最新快照。

因此,最好始终确保您收到有关结果集更改的通知并相应地更新 UI,并处理您的对象可能由于某些操作而被删除的情况(确保它们仍然有效)。

【讨论】:

  • 非常感谢!我要去学习和使用RealmResult Notifications!
猜你喜欢
  • 2017-03-03
  • 1970-01-01
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多