Core Data 数据模型版本管理与自定义托管对象开发指南
1. 数据模型版本管理
在开发应用时,数据模型的版本管理至关重要。当创建新的数据模型版本时,旧版本会按规则命名,例如 SuperDB 3.xcdatamodel 等。通过保持当前模型名称不变,能清晰知道该对哪个版本进行修改。
当前数据模型版本在图标上会有绿色复选标记。可以安全地对当前版本进行更改,因为之前版本的副本会被保留,便于在发布新版本时将用户数据从旧版本迁移到新版本。若要更改当前版本,可在设计菜单的数据模型子菜单中选择“Set Current Version”。
数据模型版本标识符方面,虽然可以在 Groups & Files 面板中选择数据模型并按 I 打开信息窗口来分配版本标识符,但 Core Data 会忽略这些标识符。Core Data 会对数据模型文件中的每个实体进行哈希计算,哈希值存储在持久存储中。打开持久存储时,Core Data 会使用这些哈希值确保存储的数据版本与当前数据模型兼容。
使用版本化数据模型时,之前使用的 mergedModelFromBundles: 方法在处理版本化数据模型时可能会出现问题。版本化数据模型编译后会生成 .momd 文件,而之前是编译为 .mom 文件。为确保加载正确的文件,可修改 managedObjectModel 方法:
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
Core Data模型版本管理与自定义对象开发
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



