iOS数据持久化 - CoreData
2020-07-23 本文已影响0人
zhYx_
一.简介
-
特点
1.CoreData是iOS SDK提供的管理对象图的框架,以面向对象的方式存储和管理数据,实质是把对象图写入磁盘从而持久化保存.
2.CoreData可以使用SQLite作为持久化存储的类型,但它本身并不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS),不能用它向文件内存储数据.
3.CoreData可以对数据进行变更管理、对象存储、对象读取和恢复等操作.可以建立实体和实体间的关系,可以查找符合某些条件实体的请求等.
4.提供了对象-关系映射(ORM)功能,可以把OC对象转成数据储存在数据库,也可以把数据库中的数据还原成OC对象.
5.使用中需要导入#import <CoreData/CoreData.h>头文件. -
技术堆栈
1.数据请求层
NSFetchRequest 获取数据请求模板
2.对象图管理层
NSManagedObjectContext 被管理对象上下文:负责管理模型的对象的集合
3.协调层
NSPersistentStoreCordinator 持久化储存助力:负责将数据保存到磁盘的
NSEntityDescription 表结构:管理表的实体结构
NSManagedObject 表记录
NSManagedObjectModel 被管理的数据模型:负责管理对象模型
4.数据持久化层
NSPersistentStore 数据持久化管理
CoreData技术堆栈关系图
-
建议使用场景
储存表之间逻辑关系复杂的数据.