【问题标题】:How do I make an exact duplicate of a Core Data object graph?如何制作 Core Data 对象图的精确副本?
【发布时间】:2009-10-16 00:56:57
【问题描述】:

我需要从一个 NSManagedObjectContext 复制现有对象图并将其插入到第二个 NSManagedObjectContext

有没有一种简单的方法可以做到这一点?据我所知,我可以向 MOC 索要其-registeredObjects,然后执行以下操作来复制属性:

NSString* entityName       = [[sourceObject entity] name];
NSManagedObject* newObject = [NSEntityDescription insertNewObjectForEntityForName:entityName inManagedObjectContext:newMoc];
NSArray* attKeys            = [[[sourceObject entity] attributesByName] allKeys];
NSDictionary* attributes    = [sourceObject dictionaryWithValuesForKeys:attKeys];
[newObject setValuesForKeysWithDictionary:attributes];

但是,我不确定如何复制这些关系。

【问题讨论】:

    标签: cocoa macos core-data model


    【解决方案1】:

    我可能只是保存 managedObjectContext 并在新的持久存储协调器中重新打开持久存储并从中获取托管对象上下文。这应该会给您一个与原始对象图完全不相交的对象图。

    【讨论】:

    • 确实,这听起来比我搞砸的要容易得多。我试试看,谢谢。
    猜你喜欢
    • 2015-03-04
    • 1970-01-01
    • 2011-02-22
    • 2020-02-10
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-10-08
    相关资源
    最近更新 更多