0

我想打开 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]];
}

谢谢!

4

2 回答 2

0

假设您有一个名为“Book”或“book”的实体,那么第二个问题很可能是拼写错误。取决于可能触发您的第一个问题的实体图。

于 2010-04-30T17:49:24.993 回答
0

在那里放一个断点,看看你的模型是否为零。

于 2010-05-01T00:53:39.987 回答