01-CoreData 概述
CoreData 主要的几个类
1 概述
CoreData 是iOS 3 之后出现的一种数据持久化方案,提供了一种ORM的存储关系,CoreData 是直接将对象存储到数据库中去,也可以将数据库中的数据转化为OC对象,过程中不用编写SQL语句。
2 几个类的讲解
- NSManagedObjectContext 托管对象上下文 进行数据操作使用的这个类
- NSManagedObjectModel 托管对象模型关联一个模型文件(.xcdatamodeld),存储着数据库的数据结构
- NSPersistentStoreCoordinator 持久化存储协调器,负责协调存储区和上下文的关系
- NSManagedObject 托管对象类,所有CoreData 中托管对象必须继承于当前类
3 CoreData 创建的流程
- 模型文件操作
- 创建模型文件,创建工程的时候进行自动勾选也可以生成对应的模型文件(.xcdatamodeld)
- 添加对应的实体,也就是对应数据库中的表
- 添加属性设置类型
- 选中模型文件,点击Editor–> Create NSManageObjectSubclass, 创建托管对象类文件
- 实例化上下文对象
- 创建托管对象上下文(NSManagedObjectContext)
- 创建托管对象模型(NSManagedObjectModel)
- 根据托管对象模型创建持久化存储器(NSPersistentStoreCoordinator)
- 关联并且创建本地数据库文件,并且返回持久化存储对象(NSPersistentStore)
- 将持久化存储协调器赋值给托管对象上下文,完成基本的创建
4 CoreData 架构
1 数据存储(database)
数据存储是保存一个或者一组文件,当保存消息发送到CoreData之后实际进行写入到磁盘文件
2 持久化存储协调器 (NSPersistentStoreCoordinator)
作用就是从托管上下文中去获取数据请求并将其转发给合适的数据存储。是数据存储和上下文之间的中间人的角色。
3 上下文(NSManagedObjectContext)
提供访问数据对象的主要接口
4 托管对象模型 (NSManagedObjectModel)
代表了数据模型架构,模型有一组实体组成