Pregunta

Estoy tratando de hacer un duplicado de una NSManagedObject existente y sub-objetos relacionados en la base de datos. Parece que no puedo encontrar una manera fácil de hacer esto.

Tengo una NSArrayController que se rellena a partir de una base de datos central de datos. Quiero aprovechar el objeto en el selectionIndex y hacer una copia en profundidad, manteniéndolo relacionado con el mismo objeto padre y la copia de todos los objetos secundarios.

Cualquier ayuda se aprecia!

Gracias a TechZen para el enlace. He utilizado el código de ejemplo de ese sitio y utilizado este Código de llamada:

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];
}
¿Fue útil?

Solución

Es bastante involucrado. Ver esta respuesta y el código de ejemplo relacionado de ella:

¿Cómo puedo copiar o mover un NSManagedObject de un contexto a otro?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top