新建项目新建模型NSPersistentDocument此NSPersistentStoreCoordinator没有持



我已经搜索stackoverflow和谷歌数小时了。我做了一个简单的项目来处理核心数据和绑定。它在模型中添加了一个实体,它将不再工作。每当我尝试将数据添加到新文档时,我都会收到"This NSPersistentStoreCoordinator has no persistent stores It cannot perform a save operation"(此NSPersistentstoreCoordiinator没有持久存储,它无法执行保存操作)。我听从了我能找到的每一条建议,但运气不佳。

最后,我做了一个新项目(基于NSPersistentDocument),并从头开始制作了一个全新的模型。在我第一次运行这个项目之前,我确保模型是完美的。

在WindowControllerDidLoadNib中:项目调用一个方法来添加数据。在addData例程之前,我记录ManagedObjectContext和ManagedObjectModel。他们都不是零。

我仍然得到这个%$amp;#@!错误

有人对此有什么新想法吗?

编辑:这可能是因为新的无标题文档从未保存过吗?如果是这样的话,你该如何避开呢?你能保存一个无标题的文档吗?你真的想吗?

我在导入文件时遇到了类似的问题。由于我拥有完全的控制权,我命名并保存了文档,然后我就可以保存上下文了。

正如我在上面的评论中所指出的,至少在Mountain Lion中,您必须至少保存一次文档,然后才能保存上下文。我做了一些实验,我更改的少量数据通过自动保存而不保存上下文。我已将saveContext方法更改为以下内容:

- (void)saveContext {
    if (![self fileURL]) {
        NSLog(@"Can't save context.  No file name has been set.");
        return;
    } 
    NSError *error = nil;
    if (![self.managedObjectContext save:&error]) {
        [NSApp presentError:error];
        NSLog(@"Error userInfo: %@",[error userInfo]);
        abort();
    }
}

相关内容

  • 没有找到相关文章

最新更新