2015-05-19 52 views
0

我有2個具有一對一關係的實體。我在我的應用程序中有一個複製功能,它複製了managedobject並使用此對象創建了一個新條目。使用新的行條目複製coredata關係對象

2個實體實際上是DocMetaData和DocumentData。

DocMetaData包含文檔詳細信息,如名稱,大小,類型和DocumentData包含實際文檔。現在,當我將文檔從一個文件夾複製到另一個文件夾時,應該插入一個新的DocMetaData實體對象,但我希望不是創建一個DocumentData對象,而是從關係本身創建一個條目,因爲將文件夾中的一個veru大文檔複製到文件夾可能是重操作。

+1

您的問題是什麼? –

回答

0

只需複製DocMetaData對象和重新鏈接關係:

document.metaData = newMetaData; 

需要注意的是在覈心數據確實沒有像「複製」管理對象。您必須創建一個新的屬性,並像原始對象中那樣分配所有屬性:

DocMetaData *newMetaData = [NSEntityDescription insertNewObjectForEntityForName: 
    @"DocMetaData" inManagedObjectContext:context]; 
// populate the attributes of newMetaData with the existing object   
newMetaData.name = document.metaData.name; // etc. 
+0

您能否詳細說明重新鏈接以及如何去做。在複製DocMetaData的項目時,將會有幾個屬性值將被更改...因此不能直接複製對象。 –

+0

通過上面的行復制,修改,分配(=重新鏈接)。 – Mundi

+0

你可以舉個例子。當你複製這個對象時,只有這個對象將被複制,關係和對象關係將不會被複制... –