我想打开NSPersistentDocuments并将它们一次加载到同一个窗口中。我几乎在那里,但缺少一些步骤。希望有人能帮助我。如何将PersistentDocuments加载到同一个窗口中
我有一些保存在硬盘上的文件。启动时,我的应用程序打开一个无标题的NSPersistentDocument并创建一个单独的NSWindowController。当我按下按钮,加载文件1关闭数据出现在字段,但两件事情是错的,我可以看到硬盘驱动器:
1)改变数据不会使文件脏
2)选择保存更新persistentstore(我知道这是因为当我再次打开文件时,我看到了更改),但我得到一个错误:+ entityForName:找不到实体名称'Book'的NSManagedObjectModel
这是我的代码最初用无标题文档启动的WindowController。此代码并不完美。例如,我知道我应该在加载新文件之前处理“更改”并保存当前文档。这是测试代码,试图克服这个障碍。
- (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]];
}
谢谢!
保存文档后出现错误。我知道这一点,因为当我记录时,变化就在那里。 – 2010-04-30 21:29:42
实际上,它可能会在文档被保存时出现。核心数据偏向于保存数据。即使遇到错误,它也会保存所有内容。在任何情况下,第二个错误肯定是在实体图或者一些调用实体图的代码中。 – TechZen 2010-05-01 18:16:17