iOS数据持久化 - CoreData
前言
1 – CoreData 是苹果公司封装的进行数据持久化的框架,首次在 iOS 3.0 版本系统中出现,它允许按照实体-属性-值模型组织数据,并以 XML、二进制文件或者 SQLite 数据文件的格式持久化数据
2 – CoreData 可以节省代码量:一般可达 30% 到 70%;它支持可视化建模;支持模型版本升级
3 – CoreData 的核心类
① NSManagedObjectConext:被管理对象上下文(数据管理器),相当于一个临时数据库。它负责应用与数据库之间的交互,增删改查基本操作都要用到(在实际开发中我们只关注该层)
② NSManagedObjectModel:被管理对象模型(数据模型器),它可以添加实体及实体的属性,为 xxx.xcdatamodeld 文件
③ NSPersistentStoreCoordinator:持久化存储助理(数据链接器),是整个 CoreData 的核心,用来配置数据存储的名字、位置、存储方式等
④ NSManagedObject:是从 CoreData 中取出来的对象,默认都是 NSManagedObject 对象,通过键值对来存取所有的实体属性,相当于数据库中的表格记录
⑤ NSFetchRequest:获取数据时的请求
模型版本升级
1 – 流程图
① 选中 xxx.xcdatamodeld 文件,选择 Editor ->Add Model Version
② 选择当前版本:点击新建的模型版本 CoreDataDemo 2,在工程属性面板中更新当前版本
③ 给 CoreDataDemo 2 中的实体 student 新增分数属性
④ 新建映射文件
⑤ 配置代码:修改 APPDelegate 文件中的 – (NSPersistentStoreCoordinator *)persistentStoreCoordinator 方法
⑥ 删除旧文件 Student.h 和 Student.m,选择 Editor ->Create NSManagedObject Subclass,选择对应版本、实体即可完成