Importer des données Core Data dans mon application
J'ai un NSPersistentDocument, avec son modèle Core Data, etc.
J'ai un fichier, créé par ce document. Il s'appelle preload.xml. Il "contient" plusieurs NSManagedObject.
Je voudrais charger ces objets dans tous mes nouveaux documents, de telle sorte que quand je crée un nouveau document, ce dernier automatiquement "possède" les objets vivants dans prelaod.xml. Voici ce que j'ai fait jusque là :
- J'ai copié preload.xml dans mon projet.
- Dans la méthode initWithType
(méthode qui est appelé pour la création des nouveaux documents), j'ai le code suivant :
NSURL *preloadURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@preload
ofType:@xml]];
NSError* err = nil;
[self readFromURL:preloadURL
ofType:@xml
error:&err] ;
(self est le document)
Ceci ne marche pas car quand j'essaie ensuite de sauvegarder mon document dans un fichier (disons myDoc.xml), ce document myDoc.xml reste vide et tout va dans preload.xml.
Je me demande si j'ai besoin de créer un nouveau store ou un nouveau storecoordinator ou un nouveau context. Jusque là je n'ai pas eu à gérer des objets comme le store ou le model, car NSPersistentDocument se charge de tout.
Si vous avez des pistes à me proposer, je suis preneur !
Merci !
Réponses
J'y suis arrivé. Voilà les idées :
Voilà le code
Je me suis inspiré de http://stackoverflow.com/questions/2730832/how-can-i-duplicate-or-copy-a-core-data-managed-object
pour cloner mes objets CoreData.
sinon utilise MagicalRecord...