【问题标题】:How to copy an object between 2 NSManagedObjectContext如何在 2 个 NSManagedObjectContext 之间复制对象
【发布时间】:2012-04-02 17:03:34
【问题描述】:

如何将NSManagedObject 从一个NSManagedObjectContext 复制到另一个?

我有 2 个不同的 NSManagedObjectContext,每个都有自己的 NSManagedObjectModel 和单独的持久存储。 2 个 MOC 中的每一个都有一个名为 Observation 的实体,它与同一个观察类绑定。

我想将对象从一个 MOC 复制到另一个。由于对象属于同一类,我只想从一个 MOC 中获取一个对象并将其保存到另一个。这可能吗,还是我需要在目标 MOC 中插入一个新对象,然后一次设置一个属性?

【问题讨论】:

  • 您是否尝试使用一个 MOC 使内容出现在两个不同的视图中?如果是这样,那么继续在两个类中使用相同的 fetchresult 控制器/moc,它将显示在两个视图中,但一个 moc 中。
  • 不,实际上是将对象从一个 MOC 复制到另一个 MOC,完全独立于任何视图。

标签: ios core-data nsmanagedobject


【解决方案1】:

您需要复制一个对象并将一个新对象插入到另一个托管对象上下文中。很可能您必须一一复制属性值才能执行此操作。

原因是所有这些对象都有不透明的唯一 ID,所以你不能只把它从一个上下文带到另一个上下文。

【讨论】:

  • 这是否意味着我应该复制所有属性,而不是 id?
  • 除非它是您自己的类似 id 的属性。不要不要复制 ObjectID。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
  • 1970-01-01
  • 2014-04-25
相关资源
最近更新 更多