Pergunta

Estou tentando fazer uma duplicata de um NSMANAGEDOBJETION existente e subobjetos relacionados nos dados principais. Não consigo encontrar uma maneira fácil de fazer isso.

Eu tenho um NSArrayController que é preenchido em um banco de dados de dados principal. Quero pegar o objeto no seleção e fazer uma cópia profunda, mantendo -o relacionado ao mesmo objeto pai e copiando todos os objetos filhos.

Qualquer assistência é apreciada!

Obrigado a Techzen pelo link. Usei o código de amostra 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];
}
Foi útil?

Solução

Está bastante envolvido. Veja esta resposta e o código de amostra vinculado a partir dele:

Como copio ou movo um NSMANAGEDOBJET de um contexto para outro?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top