如何识别核心数据托管对象模型——哈希?

Posted

技术标签:

【中文标题】如何识别核心数据托管对象模型——哈希?【英文标题】:How to identify Core Data Managed Object Model -- hash? 【发布时间】:2013-05-23 18:37:27 【问题描述】:

是否有一种方法可以获取核心数据托管对象模型的唯一哈希,以便我可以查看核心数据存储是否与特定模型保持同步?我正在构建一个核心数据同步系统,我想确保正在同步的核心数据存储使用相同版本的托管对象模型。

【问题讨论】:

【参考方案1】:

模型本身没有哈希值,但是

[managedObjectModel entities]

返回实体描述数组,每个实体描述都有一个versionHash属性。您可以将这些与持久存储的 metaData 字典中的版本哈希进行比较。

但要检查商店与模型的兼容性,您也可以使用

isConfiguration:compatibleWithStoreMetadata:

如"Is Migration Necessary" 中所述 在“核心数据模型版本控制和数据迁移编程指南”中。

【讨论】:

以上是关于如何识别核心数据托管对象模型——哈希?的主要内容,如果未能解决你的问题,请参考以下文章

从 Git 中检索核心数据托管对象模型

核心数据 - 2 个对象模型,1 或 2 个托管对象上下文 - 哪个更好?

如何快速将核心数据托管对象数组转换为“可识别”列表? (Xcode 11,测试版 5)

核心数据:创建多个托管对象,但只保存一些?

持久存储迁移失败缺少源托管对象模型

继承托管对象