3.10 CoreData数据库详解2
2019-04-22 本文已影响0人
草根小强
CoreData数据库详解2
1: 在SQLite和模型之间做了⼀一层映射关系
2:当我们对模型做了⼀一些操作的时候,会映射到数据表中
NSManagedObjectContext,⽤用⽤用于操作数据 模型(对象),并监测数据模型(对象)的变化
NSManagedObject, 具体的数据模型对象 NSEntityDescription,模型描述类,能够实例化得到具体的数
据模型对象 NSFetchRequest,数据查询请求类
NSPredicate,通过谓词设置查询条件的类
NSManagedObjectModel,⽤用来加载CoreData数据模型⽂文⽂文
NSPersistentStoreCoordinator, 数据 持久化存储协调器,负责调 度上层与底层对数据的操作。
NSManagedObjectContext:
操作数据
- save: // 保存更改到数据库
- deleteObject: // 删除⼀一个实体对象(⼀一⾏行记录)
- executeFetchRequest: // 执⾏行查询
NSEntityDescription
在指定的Context和Entity中插⼊入⼀一个实例对象(⼀一条数据) + insertNewObjectForEntityForName: inManagedObjectContext:
NSFetchRequest
⽣生成查询请求
- fetchRequestWithEntityName:
NSPredicate
•
NSPredicate
⽣生成条件
+ predicateWithFormat:
Format⾥里,⽤用%K表⽰示要查询的属性, %@来表⽰示要传⼊入的值
MagicalRecord
需要引⼊入头⽂文件
#import "MagicalRecord.h"
需要在AppDelegate中的 初始化
•
didFinishLaunchingWithOptions函数中
+ setupCoreDataStackWithStoreAtURL: + setupCoreDataStackWithStoreNamed:
需要在程序终⽌止的时候,清空
•
MagicalRecord
+ cleanUp
MagicalRecord
NSManagedObjectContext的Category
NSManagedObjectContext的Category + MR_defaultContext: // 取得通⽤用的Context
- MR_saveToPersistentStoreAndWait // 保存Context到数据库中(同步)
- MR_saveToPersistentStoreWithCompletion: // 保存Context到数据库(异步)
MagicalRecord
NSManagedObject(我们的模型)的Category
+ MR_findAll // 查询这个类的所有实体(所有数据)
+ MR_findAllWithPredicate: // 根据条件查询
+ MR_createEntity // 创建⼀一个实体对象(⼀一⾏行数据)
- MR_deleteEntity // 从数据库中删除⼀一个实体(⼀一⾏行数据)