Core data 如何在核心数据中对NSManagedObject进行深度复制
我正在尝试复制核心数据中现有的NSManagedObject和相关子对象。我似乎找不到一个简单的方法来做这件事 我有一个从核心数据数据库填充的NSArrayController。我想在selectionIndex处获取对象并进行深度复制,使其与同一父对象保持关联并复制所有子对象 感谢您的帮助 感谢TechZen提供的链接。我使用了该站点的示例代码,并使用了以下调用代码:Core data 如何在核心数据中对NSManagedObject进行深度复制,core-data,copy,nsarraycontroller,nsmanagedobject,Core Data,Copy,Nsarraycontroller,Nsmanagedobject,我正在尝试复制核心数据中现有的NSManagedObject和相关子对象。我似乎找不到一个简单的方法来做这件事 我有一个从核心数据数据库填充的NSArrayController。我想在selectionIndex处获取对象并进行深度复制,使其与同一父对象保持关联并复制所有子对象 感谢您的帮助 感谢TechZen提供的链接。我使用了该站点的示例代码,并使用了以下调用代码: RuleSetVersion *object = [[ruleSetVersionArrayController select
RuleSetVersion *object = [[ruleSetVersionArrayController selectedObjects] lastObject];
NSString *parentEntity = @"RuleSet";
RuleSetVersion *newObject = (RuleSetVersion*)[self copyObject:object toContext:[self managedObjectContext] parent:parentEntity];
[newObject setRuleSetEffectiveDate:[[NSDate alloc] init]];
[newObject setRuleSetVersionLastModifiedDate:[[NSDate alloc] init]];
[newObject setRuleSet:object.ruleSet];
NSError *error;
if ([managedObjectContext save:&error] == NO) {
[NSApp presentError:error];
}
这相当复杂。请参阅此答案及其链接的示例代码:
感谢您的回复!我看到了这个答案,但它似乎讨论了将一个对象从一个上下文复制到另一个上下文。如果我只想使用一个上下文,同样的答案也适用吗?事实证明,这是可行的,但需要对调用代码进行一些重新调整。URL提供了执行复制的代码,但实际上没有说明如何正确地调用它。我在上面的问题中添加了我的代码。