我想打开NSPersistentDocuments并将它们一次加载到同一个窗口中。我几乎在那里,但错过了一些步骤。希望有人可以帮助我。
我在硬盘上有一些保存的文件。启动时,我的应用程序将打开一个无标题的NSPersistentDocument并创建一个单独的NSWindowController。当我按下按钮从硬盘驱动器上加载文件1时,数据会出现在字段中,但有两件事我看错:
1)更改数据不会使文档变脏 2)选择save更新persistentstore(我知道这是因为当我再次打开文件时看到更改)但是我收到一个错误:+ entityForName:无法找到实体名称'Book'的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]];
}
谢谢!
答案 0 :(得分:0)
假设您有一个名为“Book”或“book”的实体,那么第二个问题很可能是拼写错误的情况。取决于可能触发您的第一个问题的实体图表。
答案 1 :(得分:0)
在那里放一个断点,看看你的模型是否为零。