您的当前位置:首页正文

CoreData02-CoreData 栈的创建(3个核心对象)

来源:要发发知识网

数据模型创建好之后,想要使用 CoreData 进行数据持久化,下一步就是初始化 CoreData 栈了。

CoreData 初始化的时候,要初始化 CoreData 栈上的三个对象结构,分别是:

  1. NSManagedObjectModel - 描述了数据模型的结构信息(由数据库初始化得到
  2. NSPersistentStoreCoordinator - 数据持久层和内存对象模型的协调器(连接作用,SQLite层和内存对象模型层之间的沟通者;由 managedObjectModel 初始化得到,并指定 sqlite
  3. NSManagedObjectContext - 内存中 managedObject 对象的上下文(内存中模型和协调器之间的沟通者,通过 context 来操作 CoreData

三者关系见下图:

CoreDataStack.png

用数据库 Model 来初始化协调器PersistentStoreCoordinator,上下文 context 对象持有协调器(而协调器又持有 model )。

NSManagedObjectModel ——> NSPersistentStoreCoordinator ——> NSManagedObjectContext.persistentStoreCoordinator。

即:
模型数据库 ——> 持久化协调器 ——> 上下文.持久化协调器

使用:
用上下文 context,来对模型增、删、改、查。

三者的关系,这个图看着比较明确清晰:
1、persistentStoreCoordinator 关联 sqlite,并持有model;
2、最终,context 持有 persistentStoreCoordinator,所以能对数据库增删改查操作。