Je sais que plusieurs problèmes ont peut-être été dupliqués étant donné qu'aucune solution pointue n'a résolu mon problème, j'ai donc décidé de poster mon cas spécifique.Tentative illégale d'établir une relation 'objet' entre des objets dans différents contextes
Je travaille avec CoreData dans ma demande, et certains objets sont instanciés sans être effectivement sauvé sur le terrain, mon code de démarrage dans ces cas est la suivante:
-(id)initEntity:(NSManagedObjectContext*)context{
AppDelegate appDelegate * = [[UIApplication sharedApplication] delegate];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Endereco" inManagedObjectContext: appDelegate.managedObjectContext];
self = (Endereco*)[[Endereco alloc] initWithEntity:entity insertIntoManagedObjectContext:nil];
return self;
}
Cependant, un attribut de cette l'objet est la municipalité qui est déjà enregistré sur la base, et est choisi par un ActionSheet:
if (actionSheet == actionSheetMunicipios) {
Municipio *municipio = [municipios objectAtIndex:buttonIndex-1];
endereco.municipio = municipio;
[textMunicipio setText:endereco.municipio.nome];
}
en ligne
endereco.municipio = municipio;
je reçois l'erreur suivante:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Illegal attempt to establish a relationship' municipio 'between objects in different contexts.
L'erreur est clair, je suis en train d'établir une relation d'objets avec des contextes différents, mais dans mon cas, dans lequel l'objet parent est pas enregistré sur la base , et que l'objet enfant est déjà là, comment pourrais-je résoudre?
Ami, merci pour l'aide, mais je pourrais résoudre sinon voir dans ma réponse. – jucajl