2009-10-16 6 views
1

Je dois faire une copie d'un graphique d'objet existant à partir d'un NSManagedObjectContext et l'insérer dans un second NSManagedObjectContext.Comment faire une copie exacte d'un graphe d'objet Données de base?

Existe-t-il un moyen simple de le faire? D'après ce que je peux dire que je pourrais demander au MDC pour son -registeredObjects puis faire quelque chose comme ceci pour copier les attributs:

NSString* entityName  = [[sourceObject entity] name]; 
NSManagedObject* newObject = [NSEntityDescription insertNewObjectForEntityForName:entityName inManagedObjectContext:newMoc]; 
NSArray* attKeys   = [[[sourceObject entity] attributesByName] allKeys]; 
NSDictionary* attributes = [sourceObject dictionaryWithValuesForKeys:attKeys]; 
[newObject setValuesForKeysWithDictionary:attributes]; 

Cependant, je ne suis pas sûr comment copier les relations entre.

Répondre

3

Je sauvegarderais probablement le managedObjectContext et rouvrirais le stockage persistant dans un nouveau coordinateur de magasin persistant et récupèrerais le contexte de l'objet géré. Cela devrait vous donner un graphique d'objet totalement disjoint de votre original.

+0

En effet, cela semble beaucoup plus facile que ce que je jouais avec. Je vais essayer, merci. –

+0

Fonctionne parfaitement, merci beaucoup. –

Questions connexes