问题标签 [nsmanagedobjectmodel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
30 浏览

objective-c - 核心数据崩溃原因:+entityForName:在此模型中找不到名为“DataBasket”的实体

我的项目中有不同的 coredata 模型。当然我在我的项目中添加了 xcdatamodel 文件,它崩溃了,因为在我的 Appdelegate 我有:

为了使它工作,它应该是:

反正我有两种方法吗?

0 投票
3 回答
5258 浏览

core-data - CoreData 警告:多个 NSEntityDescriptions 声明 NSManagedObject 子类

我突然在 iOS12/XCode 9 上收到一堆警告。为什么有多个 managedObjectModels ?该应用程序只有一个 *.xcdatamodeld 文件,但模型中有多个版本。

这是一些新的 iOS12 Coredata 功能吗?我可以做些什么来防止这个警告还是我应该忽略它?

0 投票
1 回答
220 浏览

swift - 需要通用 FetchedResultsController 构建器(Swift)

我创建了一个构建 frc 的方法:

我想在闭包中调用这样的东西:

但我收到此错误:

“无法将 'ObjectName.Type' 类型的值转换为预期的参数类型 'NSManagedObject'”。

然而,ObjectName是一个NSManagedObject. 我尝试过自己,但最终我只是不停地追逐错误。

0 投票
1 回答
172 浏览

core-data - Xcode 12.1 中的 CoreData 错误

我正在研究 Paul Hudson 的 SwiftUI 100 天,在 Project 11 中遇到了一个令人沮丧的 CoreData 问题。这是保罗的代码的直接提升,在他的视频中编译和运行良好。Bookworm.xcdatamodeld 有一个名为 Student 的实体,它有两个属性:一个名为 id 的 UUID 和一个名为 name 的字符串。

它编译得很好,但运行它会导致 ForEach 崩溃,“学生”用红色下划线。控制台中弹出的错误消息说:

2020-10-31 12:13:47.934507-0400 Bookworm[614:7766183] [error] 错误:任何模型中都没有 NSEntityDescriptions 声明 NSManagedObject 子类“Bookworm.Student”,因此 +entity 被混淆了。你加载你的 NSManagedObjectModel 了吗?CoreData:错误:任何模型中都没有 NSEntityDescriptions 声明 NSManagedObject 子类“Bookworm.Student”,因此 +entity 被混淆了。你加载你的 NSManagedObjectModel 了吗?2020-10-31 12:13:47.934651-0400 Bookworm[614:7766183] [error] 错误:+[Bookworm.Student entity] 无法找到 NSEntityDescription 与托管对象子类 CoreData 的唯一匹配:错误:+[ Bookworm.Student 实体] 无法找到 NSEntityDescription 与托管对象子类的唯一匹配项 2020-10-31 12:13:47.953419-0400 Bookworm[614:

我搜索了很多,并尝试了我发现的所有推荐解决方案,包括:简单地关闭并重新打开 Xcode(步骤 1),清理项目,然后重复步骤 1,删除所有派生数据并重复步骤 1。我已经验证在模块的检查器中选择了当前产品模块,并且 Codegen 选择了类定义。

0 投票
1 回答
60 浏览

core-data - CoreData:使用 NSCKImportOperation 删除传播预取失败

我正在测试 CoreData+CloudKit,即我正在使用NSPersistentCloudKitContainer处理与 iCloud 的所有通信的一个。
当我启动应用程序时,CoreData 会自动与 iCloud 同步,即(其中)插入或更新的记录被导入到 CoreData。没有记录被删除。
我的测试在模拟器上运行。

我的第一次尝试是只使用viewContext. 要将远程更改合并到此上下文中,我设置

此外,我正在使用Apple 建议的历史跟踪,但历史处理也使用viewContext,而不是新的背景上下文。
这工作得很好,除了使用viewContext.

因此,我的第二次尝试是通过背景上下文处理历史记录(如 Apple 所建议的那样)。
现在重复记录以下错误(显然是永远):

CoreData:删除传播预取失败并出现异常:提取请求的实体 0x6000017a2050 'NSCKImportOperation' 似乎来自与此上下文不同的 NSManagedObjectModel

即使在我删除了仪表板中的所有 iCloud 记录并从模拟器中删除了应用程序之后,也会记录此错误。
我只使用了一个NSManagedObjectModel与关系,但所有关系都有删除规则“无操作”。

为了检查这个错误的原因,我设置了一个运行时断点,应用程序停止并显示以下堆栈跟踪:

在此处输入图像描述

我应该提到错误消失,如果我设置

但我当然需要自动合并才能正确操作。

我的问题是:
这真的是一个错误吗?(日志说“它似乎……”)。
这可能是什么原因,如何避免?

PS:CoreData预取相关的帖子还有很多,但是没有找到CoreData+CloudKit相关的