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];
}

questionAnswers(1)

yourAnswerToTheQuestion