2016笔记——CoreData
说一说在CoreData中使用的几个类:
1、NSManagedObjectModel 被管理的对象模型 相当于实体,不过它包含了实体间的关系。
2、NSManagedObjectContext 被管理的对象上下文 实际操作的内容
作用:数据的增加、删除、修改、查询
3、NSPersistentStoreCoordinator 持久化存储助理 相当于数据库的连接器
4、NSFetchRequest 获取数据的请求 相当于查询语句
5、NSPredicate 相当于查询条件
6、NSEntityDescription 实体结构
7、后缀为.xcdatamodeld的包,里面是这个东西:
屏幕快照 2016-05-06 17.33.12.pngxcdatamodel后缀的文件,用于数据模型编辑器编辑,编译后为.momd文件。
数据库的增、删、改、查,其中比较复杂的就是查询了,因为你可以设置不同的查询条件了。
我们再来看一看查询都可以玩出什么样的花:
1、predicate 查询条件
2、sortDescriptors 排序数组,数组中的元素,是实例的属性,那么就可以按照该属性进行升序或者降序排列。
3、fecthLimit 数量限制,默认为0
4、affectedStores 数据源NSPersistentStoreCoordinator的数组,默认为AppDelegate的persistentStoreCoordinator。
5、resultType 返回类型,默认为NSManagedObjectResultType,即返回对象。可以设置返回ID、字典、个数。
6、includesPropertyValues 是否查询子类,默认为YES
7、includesPropertyValues 是否获取结果的具体值,默认是YES
8、returensObjectsAsFaults 是否在出错时仍然返回对象,默认是YES
9、relationshipKeyPathsForPrefetching 设置预处理的关系数组,如果设置了预处理的关系,则在获取该关系时是不用重新调用数据源获取关系的具体Value。
10、includesPendingChanges 是否包括已改变但未保存的数据对象,默认YES
加油!