gpt4 book ai didi

iphone - 向核心数据中的实体添加属性

转载 作者:行者123 更新时间:2023-12-03 16:06:56 24 4
gpt4 key购买 nike

在映射数据模型中的所有实体/属性/关系后,我创建了所有托管对象。现在我遇到的问题是需要添加额外的属性/关系,这是我第一次设计一个实体/类时没有想到的。有没有办法使用 Core Data 修改现有的 NSManagedObject 类,而不需要删除所有模型并基于新的 xcdatamodel 重新创建它们?

在 xcdatamodel 中添加属性也会更新底层存储机制吗?假设我使用 SQLite3 作为持久存储,它会相应地添加列吗?

最佳答案

正如 groundhog 指出的那样,为了对数据模型进行复杂的更改,您需要创建模型的版本,并将旧模型下的数据迁移到新模型中,遵循 Apple 关于此事的指南(他链接到该指南)。不用担心任何幕后 SQL,Core Data 会为您处理这些问题。

但是,为了进行简单的数据模型更改,Apple 在 Core Data 的 iPhone OS 3.0 实现中引入了一项名为 lightweight migration 的新功能。 。对于轻量级迁移,Core Data 将自动迁移数据模型中的简单更改,例如更改属性或实体的名称、删除属性、添加具有默认值的属性或更改实体的继承。你只需要在新版本中输入重命名标识符来指向旧版本的名称等。Core Data 会以高效的方式处理你的数据更新,只要你在您的持久存储。

关于iphone - 向核心数据中的实体添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1220381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com