macos - 核心数据迁移机制是否会处理预填充实体上的新数据?

标签 macos cocoa core-data core-data-migration

我有一个 Mac 应用程序,它使用基本上一个实体的核心数据。

这个应用程序为 Quartz 创建粒子,并附带各种可供使用的粒子设置,例如火、烟、 cometd 等。这些粒子保存在该实体上并运送给用户,或者换句话说,应用程序附带一个预填充的实体。

这个实体用于保存用户创建的粒子(我设置了一个标志来了解粒子是由用户还是我创建的)。

我想通过包含更多预填充粒子来更新此应用程序。

问题是每个用户都已经保存了他们的粒子。我需要新版本不要搞乱它,并添加我将创建的新粒子。

我知道核心数据机制更适合迁移结构,但是数据呢?我怀疑核心数据不会这样做,所以我必须检查数据库以查看新粒子是否存在,并在用户第一次运行应用程序时通过代码添加它们,对吗?或者有没有办法自动做到这一点?

最佳答案

简短的回答是否定的。迁移仅用于结构性变化。它不会添加新数据。

创建新数据或更新旧数据 iOS 属于业务决策,超出了迁移 API 的范围。

关于macos - 核心数据迁移机制是否会处理预填充实体上的新数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31291808/

相关文章:

macos - PCIDriverKit 授权检查失败(将 KEXT 迁移到 DEXT)

ios - 如何使用 Swift 旋转核心文本?

macos - SwiftUI:关闭 macOS 上打开的窗口会导致崩溃

multithreading - 使用 Cocoa 和工作线程

objective-c - 如何在表格列中显示 NSDate

ios - 获取持久协调器时核心数据奇怪崩溃

ios - NSPredicate : to-Many relationship with date iOS

macos - 什么是适用于 Mac OSX 的好的 BASIC 编译器?

cocoa - 如何暂停 NSThread 直到收到通知?

ios - 创建 iOS 应用程序的建议,该应用程序获取 JSON 响应并将数据存储在核心数据中(供离线使用)