我有2个具有一对一关系的实体。我在我的应用程序中具有复制功能,它复制了managedobject并使用此对象创建了一个新条目。
2个实体实际上是DocMetaData和DocumentData。
DocMetaData包含文档详细信息,如名称,大小,类型和DocumentData包含实际文档。现在,当我将文档从一个文件夹复制到另一个文件夹时,应该插入一个新的DocMetaData实体对象,但是我希望它不是创建一个DocumentData对象,而是从关系本身创建一个条目,因为将一个veru大文档从一个文件夹复制到另一个文件夹可能是一个沉重的操作。
答案 0 :(得分: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.