J'essaie de créer une copie d'un objet NSManagedObject existant et des sous-objets associés dans les données de base. Je n'arrive pas à trouver un moyen facile de le faire.Comment faire une copie profonde de NSManagedObject dans les données de base
J'ai un NSArrayController qui est rempli à partir d'une base de données de base de données. Je veux prendre l'objet à selectionIndex et faire une copie profonde, en le gardant lié au même objet parent et en copiant tous les objets enfants.
Toute aide est appréciée!
Merci à TechZen pour le lien. J'ai utilisé l'exemple de code de ce site et utilisé ce code d'appel:
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];
}
Merci pour la réponse! Je vois cette réponse, mais il semble discuter de la copie d'un objet d'un contexte à un autre. Est-ce que la même réponse s'applique si je veux utiliser un seul contexte? – jschmidt
Il s'avère que cela fonctionne, mais il a fallu un re-jiggering de mon code d'appel. L'URL fournit le code pour effectuer la copie, mais n'indique pas vraiment comment l'appeler de manière appropriée. J'ajoute mon code dans ma question ci-dessus. – jschmidt