前言
-
第一眼看到Core Data 令人生畏的复杂架构关系,很多人都会有无从下手的感觉
-
可是,一旦理解了架构图中各个部件的组成及相互之间的关系,就能体会到Core Data API 的简 洁和直观了
-
Core Data stack(技术堆栈):如果能够理解Core Data stack 中的各个成员所扮演的角色,那么再 使用Core Data 就不会感觉到困难了
1.1-什么是CoreData Stack?
-
Core Data stack 是Core Data 的核心,由一组Core Data 核心对象组成
-
NSManagedObjectContext 对象管理上下文: 负责管理模型的对象的集合
-
NSManagedObjectModel 被管理的对象模型: 负责管理对象模型
-
NSPersistentStoreCoordinator 存储调度器: 负责将数据保存到磁盘的
-
1。2-CoreData Stack中的对象是如何协调工作的呢?
-
三者之间的关系示意图
- 官方
-
分为两部分
-
对象图管理
-
数据持久化
- 在这两部分的中间,即堆栈中间,是持久化存储协调器(Persistent Store Coordinator, PSC)。通过它将对 象图管理部分和持久化部分绑在一起。当这两部分中的一部分需要和另一部分交互,将通过PSC 来 调节
-
-
上图表示,一个工程可以有多个管理模型的Context,一个存储调度器可以调度多个存储器,不过在一般的开发中,我们只需要一个Contect和一个存储器就足够了
-
官方建议解决方案
- 作者的见解