一. 概念
<b>*CoreData</b> 是一种数据持久化框架(所谓的数据持久化可以理解为数据的本地化操作), 用来管理实体类对象的生命周期, 管理实体类对象的关系, 和持久化等方面的问题.
二.特点
1.可视化, 不用写底层的SQLite语句, 大量简化了代码量
2.数据最终的存储类型可以是: SQLite数据库, XML, 二进制文件, 内存或者自定义数据类型.
3.与iOS紧密结合, 且只用于iOS开发
4.存储内容以对象的形式存储, 复合面向对象的思想
三.* 构成
<b>学习CoreData之前, 理解以下几个类是必要的! </b>
(1)NSManagerObjectContext(被管理的数据上下文):数据管理器类
作用: 操作实际内容, 对持久层的操作:插入数据, 查询数据, 删除数据, 修改数据等操作
注意: 它是我们开发中主要交互的类(我们在程序中通过上下文触发命令--->得到结果)
(2)NSManagerObjectModel(被管理的数据模型):数据模型类
定义: 数据库的结构或数据库实体, 包含了各个实体(表)的定义信息
作用: 用来构建整个数据库的表结构, 添加实体的属性, 建立属性之间的关系
(3)NSPersistentStoreCoordinator(持久化存储助理):数据连接器类
作用: 设置数据存储的名字, 位置, 存储方式, 存储时间(具体的实现不需要我们干涉, 我们操作的只是:上下文)
工作原理: 从下层文件取出数据, 交给上层的被管理对象(context)
注意: 实际上这个类才是真正意义上与数据库(.SQLite)交互的类, 主要根据NSManagerObjectModel执行表结构的建立, 通过NSManagerObjectContext的命令执行行数据交互
(4)NSManagerObject(被管理的数据记录)
(5)NSFetchRequest(获取数据的请求)
(6)NSEntityDescription(实体结构)
(7)后缀为.xcdatamodeld的包
四.依赖关系
coreData框架.png
五.CoreData数据库的简单操作
第一步 : 在新建工程的时候添加CoreData框架
勾选Use Core Data, 这样我们新建的工程里面就会自动生成CoreData相关类和方法了!
1.png
第二步: 添加实体和属性
2.png
第三步: 创建实体管理类:勾选需要被管理的实体类
3.png
网友评论