Como fazer cópia profunda do NSManagedObject nos dados principais
Estou tentando fazer uma duplicata de um NSManagedObject existente e subobjetos relacionados no Core Data. Não consigo encontrar uma maneira fácil de fazer isso.
Eu tenho um NSArrayController que é preenchido a partir de um banco de dados Core Data. Quero pegar o objeto no selectionIndex e fazer uma cópia profunda, mantendo-o relacionado ao mesmo objeto pai e copiando todos os objetos filhos.
Qualquer assistência é apreciada!
Obrigado ao TechZen pelo link. Eu usei o código de exemplo desse site e usei este código de chamada:
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];
}