我想打开 NSPersistentDocuments 并将它们一次加载到同一个窗口中。我快到了,但缺少一些步骤。希望有人可以帮助我。
我在硬盘上保存了一些文件。在启动时,我的应用程序会打开一个未命名的 NSPersistentDocument 并创建一个单独的 NSWindowController。当我按下按钮从硬盘驱动器加载文件 1 时,数据出现在字段中,但我可以看到有两件事是错误的:
1)更改数据不会使文档变脏
2)选择保存更新持久存储(我知道这一点,因为当我再次打开文件时,我看到了更改)但我收到错误:+entityForName:找不到 NSManagedObjectModel实体名称“书”
这是我的代码,它位于最初使用无标题文档启动的 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]];
}
谢谢!