核心数据持久存储协调器不存在
Posted
技术标签:
【中文标题】核心数据持久存储协调器不存在【英文标题】:Core data persistent store coordinator isnt present 【发布时间】:2012-02-03 02:17:39 【问题描述】:我正在阅读 Apple Doc 的 Core Data Tutorial for ios 教程,当我按下 +
按钮向我的 tableView 添加事件时,应用程序崩溃并且控制台状态:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.'
我已经阅读了很多教程次,我找不到任何地方的教程说有关商店的任何信息。那么有没有我应该添加它没有显示的代码?
【问题讨论】:
【参考方案1】:您应该使用 Xcode 的 Master-Detail 模板创建一个新项目,选择“使用核心数据”以获取当前工作示例。一旦您面前有一个工作项目,请在该项目中搜索 NSPersistentStoreCoordinator - 结合工作代码示例来理解文档比在尝试从零开始创建工作代码时理解它们要容易得多。
【讨论】:
嘿,我仍然无法让本教程工作,我已经创建了主从应用程序,但我无法继续!因为他们使用 FetchedResultsController,它与教程完全不同!请帮忙!【参考方案2】:您一定忘记添加持久存储。请参阅 the docs 了解如何创建持久存储。
编辑
创建持久存储后,通过如下调用跟进:
NSPersistentStoreCoordinator *persistentStoreCoordinator = /* Assume this exists */;
NSURL *storeURL = /* ... */;
[persistentStoreCoordinator addPersistentStoreWithType: NSSQLiteStoreType
configuration: nil
URL: storeURL
options: nil
error: NULL];
【讨论】:
感谢您的回复,您能帮我解决这个问题吗?我以前从来没有做过!!再次感谢! :D,核心数据教程中没有说明如何做到这一点! 您能帮我添加持久存储吗?你给了我一个指向方法标题的链接。我不确定在方法的主体中输入什么!谢谢 希望有帮助。不要忘记使用您自己的 PSC 并提供您自己的商店 URL。 :) @AlexsanderAkers 我得到了这个错误:NSInvalidArgumentException',原因:'+entityForName: nil is not a legal NSManagedObjectContext parameter @Coder101 这可能值得一个单独的 SO 问题。以上是关于核心数据持久存储协调器不存在的主要内容,如果未能解决你的问题,请参考以下文章
持久存储协调器核心数据错误:NSSQLiteErrorDomain = 522