Wie erstelle ich eine Deep Copy von NSManagedObject in Core Data

Ich versuche, ein Duplikat eines vorhandenen NSManagedObject und zugehöriger Unterobjekte in Core Data zu erstellen. Ich kann anscheinend keinen einfachen Weg finden, dies zu tun.

Ich habe einen NSArrayController, der aus einer Core Data-Datenbank ausgefüllt ist. Ich möchte das Objekt in den selectionIndex aufnehmen und eine vertiefte Kopie erstellen, die mit demselben übergeordneten Objekt verknüpft bleibt und alle untergeordneten Objekte kopiert.

Jede Hilfe wird geschätzt!

Danke an TechZen für den Link. Ich habe den Beispielcode von dieser Site und diesen aufrufenden Code verwendet:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage