У меня есть NSPersistentDocument
с заданной моделью Core Data и т. д.
У меня есть файл, созданный этим документом, допустим, это preload.xml. Он «содержит» несколько NSManagedObject
.
Я хотел бы загружать эти объекты во все мои новые документы, чтобы при создании нового документа новый документ автоматически «имел» объекты, «живущие» в preload.xml. Пока вот что я сделал:
Я скопировал
preload.xml
в свой проект.В методе
initWithType:error:
(метод, вызываемый при создании нового документа) есть следующий код:NSURL *preloadURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"preload" ofType:@"xml"]]; NSError* err = nil; [self readFromURL:preloadURL ofType:@"xml" error:&err] ;
Это не работает, потому что, когда я впоследствии пытаюсь сохранить свой документ, скажем, в myNewDoc.xml
, этот файл пуст, но все мои новые данные сохраняются в preload.xml
.
Мне интересно, нужно ли мне создать новый store
или context
или storeCoordinator
или что-то еще. Я никогда не имел дело с такими объектами, так как всегда использовал NSPersistentDocument
.
readFromURL:ofType:error:
? Если да, то как выглядит ваша версия? - person Tom Harrington   schedule 07.05.2013readFromURL
, но это не работает. Я сделал что-то еще, так как: создал новыйstore
(связанный с моим preload.xml), новыйstoreCoord
и новыйMOC
. Затем у меня был клон моих объектов между двумя MOC, что не так уж и здорово... Но, похоже, это работает. - person Colas   schedule 08.05.2013readFromURL:ofType:error:
, и, поскольку вы не включили его, трудно сказать, что с ним не так. - person Tom Harrington   schedule 08.05.2013readFromURL
!!! Я имел в виду: да, я использовалreadFromURL
. Извините за недопонимание :/ - person Colas   schedule 08.05.2013