托管对象模型和持久对象存储之间有什么区别?

Nan*_*dha 4 core-data persistent-object-store nsmanagedobjectmodel

来自苹果 CoreData 框架文档,

托管对象模型:模型允许 Core Data 从持久存储中的记录映射到您在应用程序中使用的托管对象。请参阅此处

持久对象存储:持久对象存储在应用程序中的对象与持久存储中的记录之间进行映射。请参阅此处

从这些描述来看,两者的含义相同,即将持久存储记录与托管对象进行映射。

我想知道托管对象模型和持久对象存储之间的独特区别是什么。

Mar*_*n R 6

托管对象模型是核心数据应用程序中使用的架构的一个实例NSManagedObjectModel,并描述了该架构。它是从模型文件加载的 ,该文件包含您在核心数据模型检查器中定义的所有实体描述及其属性和关系。所以模型描述了你的对象。

持久对象存储是 的一个实例NSPersistentStore,它管理与持久存储之间的事务,持久存储是存储实际数据的存储库。在许多情况下,持久存储是 SQLite 文件,但它也可以是 XML 文件、二进制文件或临时数据的“内存中”存储。

持久存储协调器同时使用:NSManagedObjectModeland (一个或多个) NSPersistentStore,将托管对象从存储加载到应用程序中,并将更改的对象写回到存储中。