- NSManagedObject:名称:托管对象类结构:和Entity相同功能:内存中的虚拟数据容器对象实例化常用方式:NSEntityDescription类的方法:
insertNewObjectForEntityForName:inManagedObjectContext:
第一个参数用来指定数据结构(Entity);第二个参数用来指定托管对象上下文
- xcdatamodeld数据模型功能:包含当前项目中所需的数据模型结构:内涵多个Entity
- 数据模型中的Entity功能:内存中,用来指定托管对象的数据架构;在数据库(数据文件中),用来指定数据表的结构
NSManagedObjectContext:
名称:托管对象上下文功能:执行对下的数据操作,如:save(存储)、delete(删除)、update(更新)等注意:实际上,托管对象上下文仍属于业务逻辑层,而非数据操作层,它通过系统内置逻辑,自动调用持久化数据操作类(PersistentData
操作类)来执行数据更改NSFetchRequest
:名称:“取”请求功能:数据读取,可以将数据读入到指定的容器中用法:
- 设定要读取的数据:该对象的
setEntity
方法设置要操作的数据; - 调用
NSManagedObjectContext的excuteFetchRequest
方法来执行数据查询(对应Sql语句selete)
- NSSortDescription名称:排序器功能:指定排序的方式(索引)用法:通过该对象的初始化方法参数
initWithKey:
来指定排序所依据的字段名,参数ascending:
指定排序方式(正序或者倒叙)- 使用托管对象上下文进行删除操作
- 指定要删除的托管对象;先把要删除的值找到(一般是通过
FetchRequest
),传值到托管对象中。 - 调用托管对象上下文的
deleteObject
方法删除内存中的托管对象。 注意:和save方法不同,deleteObject方法并不直接将改动执行到数据库,而是先从内存中删去指定的托管对象 - 通过上下文对象的save方法将内存中数据的改动写入数据库,实现真正的数据删除。