核心数据:无法获取 managedObjectContext 和模型

Posted

技术标签:

【中文标题】核心数据:无法获取 managedObjectContext 和模型【英文标题】:Core Data: Trouble getting the managedObjectContext and model 【发布时间】:2010-12-30 17:53:47 【问题描述】:

我是 Core Data 的新手,但我遇到了麻烦...这是我从应用程序委托访问 self.managedObjectContext 时得到的:

#9  0x013db635 in objc_exception_throw
#10 0x00d00df3 in -[NSPersistentStoreCoordinator initWithManagedObjectModel:]
#11 0x00002b9d in -[appDelegate persistentStoreCoordinator] at appDelegate.m:158
#12 0x00002924 in -[appDelegate managedObjectContext] at appDelegate.m:121
#13 0x00002736 in -[appDelegate application:didFinishLaunchingWithOptions:] at appDelegate.m:32

调试器停在persistentStoreCoordinator方法中的这行代码处:

persistentStoreCoordinator_ = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

也许这与它有关:我删除了 .xcdatamodel 和 .xcdatamodelId 文件,并从头开始创建了一个新模型(使用相同的名称,通过文件 -> 新文件 -> 数据模型)。我尝试清理所有内容,重置 iPhone 模拟器内容等。但我一直收到此错误。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

好的,这是一个解决我的问题的不是很微妙的解决方案:

    在不同的文件夹中创建了一个同名的新项目 从损坏项目的建模窗口中选择所有实体并将它们复制到新的项目数据模型画布上 保存新项目并关闭它 通过查找器,我将损坏的项目文件夹中的所有旧 *.xcdatamodel 文件替换为新项目的文件

就是这样!

【讨论】:

以上是关于核心数据:无法获取 managedObjectContext 和模型的主要内容,如果未能解决你的问题,请参考以下文章

无法获取具有 SQL 等条件的核心数据

核心数据。无法根据与继承实体的关系来获取/排序实体

核心数据:无法获取 managedObjectContext 和模型

核心数据谓词根据关系获取数据,错误为无法解析格式字符串

我无法根据与谓词的关系从核心数据中获取实体

在获取永久 ID 后,核心数据无法为对象完成故障