2012-04-02 41 views
3

如何將NSManagedObject從一個NSManagedObjectContext複製到另一個?如何在2之間複製對象NSManagedObjectContext

我有2個不同的NSManagedObjectContext,每個都有自己的NSManagedObjectModel和單獨的持久性存儲。 2個MOC中的每一個都有一個名爲Observation的實體,它與同一個觀察類相關聯。

我想將對象從一個MOC複製到另一個。由於對象屬於同一類,因此我只想從一個MOC中獲取對象並將其保存到另一個對象。這是可能的,還是我需要插入一個新的對象到目標MOC中,然後設置每個屬性一次?

+0

您是否試圖使內容出現在兩個不同的視圖使用一個MOC?如果是這樣,那麼繼續在兩個類中使用相同的fetchresult控制器/ moc它將顯示在兩個視圖,但一個moc。 – codejunkie 2012-04-02 17:06:18

+0

不,實際上將對象從一個MOC複製到另一個MOC,完全獨立於任何視圖。 – 2012-04-02 18:53:01

回答

2

您需要複製一個對象並插入一個新的管理對象上下文。很有可能你必須一個接一個地複製屬性值來做到這一點。

原因是所有這些對象都具有不透明的唯一ID,因此您不能只將它從一個上下文轉移到另一個上下文。

+0

這是否意味着我應該複製所有屬性,但不是ID? – Katlu 2013-06-27 08:12:30

+0

除非它是你自己的身份證件。 *不*複製ObjectID。 – Mundi 2013-06-27 14:20:06