J'ai un NSPersistentDocument
avec un modèle de données de base donné, etc.Comment précharger des données à partir des données de base dans un document NSPersistentDocument?
J'ai un fichier, créé par ce document, Répétons le son preload.xml. Il "contient" plusieurs NSManagedObject
s.
Je voudrais charger ces objets dans tous mes nouveaux documents, de sorte que lorsque je crée un nouveau document, le nouveau document "a" automatiquement les objets "vivant" dans preload.xml. Jusqu'à présent, voici ce que je faisais:
Je copié
preload.xml
dans mon projet.Dans la méthode
initWithType:error:
(la méthode appelée lorsqu'un nouveau document est créé), avoir le code suivant:NSURL *preloadURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"preload" ofType:@"xml"]]; NSError* err = nil; [self readFromURL:preloadURL ofType:@"xml" error:&err] ;
Cela ne fonctionne pas parce que, lorsque je tente ensuite de sauver ma document à, disons myNewDoc.xml
, ce fichier est vide mais toutes mes nouvelles données sont enregistrées à preload.xml
. Je me demande si je dois créer un nouveau store
ou context
ou storeCoordinator
ou autre chose. Je n'ai jamais traité avec de tels objets puisque j'ai toujours utilisé NSPersistentDocument
.
Est-ce que vous substituez 'readFromURL: ofType : erreur: '? Si oui, à quoi ressemble votre version? –
Oui, je remplace 'readFromURL' mais cela ne fonctionne pas. J'ai fait quelque chose d'autre, depuis: créer un nouveau 'store' (associé à mon preload.xml), un nouveau' storeCoord' et un nouveau 'MOC'. Ensuite, j'ai eu un clone mes objets entre les deux MOC, ce qui n'est pas si génial ... Mais ça a l'air de marcher. – Colas
Eh bien, il semble que le problème original soit en quelque sorte lié à votre code 'readFromURL: ofType: error:', et puisque vous n'avez pas inclus cela, il est difficile de dire ce qui pourrait ne pas fonctionner. –