//NSManagedObjectContext 被管理的数据上下文
/*
操作实际内容(操作持久层)
作用:插入数据,查询数据,删除数据
*/
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
//NSManagedObjectModel 被管理的数据模型
/*
数据库所有表格或数据结构,包含各实体的定义信息
作用:添加实体的属性,建立属性之间的关系
操作方法:视图编辑器,或代码
*/
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
//NSPersistentStoreCoordinator 持久化存储助理
/*
相当于数据库的连接器
作用:设置数据存储的名字,位置,存储方式,和存储时机
*/
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
其他:
NSManagedObject 被管理的数据记录
相当于数据库中的表格记录
NSFetchRequest 获取数据的请求
相当于查询语句
NSEntityDescription 实体结构
相当于表格结构
NSPredicate 用于查询和过滤
后缀为.xcdatamodeld的包 里面是.xcdatamodel文件,
用数据模型编辑器编辑 编译后为.momd或.mom文件
和SQLite的区别:只能取出整个实体记录,然后分解,之后才能得到实体的某个属性
core data relationship 的四个Delete rule 分别是:
Deny 可以拒绝删除请求
Nullify 在删除对象之前重设逆向关系
Cascade 删除对象及它的所有关系(级联删除)
No Action 将保证一个关系所指向的对象不受影响,即使这些对象指向了即将被删除的项