Я хочу открыть NSPersistentDocuments и загрузить их в одно и то же окно по одному. Я почти там, но пропускаю несколько шагов. Надеюсь, кто-нибудь сможет мне помочь.
У меня есть несколько сохраненных документов на жестком диске. При запуске мое приложение открывается без названия NSPersistentDocument и создает отдельный NSWindowController. Когда я нажимаю кнопку, чтобы загрузить файл 1 с жесткого диска, в полях появляются данные, но я вижу две неправильные вещи:
1) изменение данных не делает документ грязным
2) выбор сохранения обновляет постоянное хранилище (я знаю это, потому что когда я снова открываю файл, я вижу изменения), но я получаю ошибку: + entityForName: не удалось найти NSManagedObjectModel для имени сущности 'Book'
Вот мой код, который находится в WindowController, который был изначально запущен с документом без названия. Этот код не идеален. Например, я знаю, что должен обработатьPendingChanges и сохранить текущий документ перед тем, как загрузить новый. Это тестовый код, чтобы попытаться преодолеть это препятствие.
- (IBAction)newBookTwo:(id)sender {
NSDocumentController *dc = [NSDocumentController sharedDocumentController];
NSURL *url = [NSURL fileURLWithPath:[@"~/Desktop/File 2.binary" stringByExpandingTildeInPath]];
NSError *error;
MainWindowDocument *thisDoc = [dc openDocumentWithContentsOfURL:url display:NO error:&error];
[self setDocument:thisDoc];
[self setManagedObjectContext:[thisDoc managedObjectContext]];
}
Спасибо!