CoreData:
简述:苹果封装了SQLite数据库的功能,为苹果开发者提供的一种数据持久化工具.
构造:
代码外:
1.生成xcdatamodeld文件(建立entity数据模型)
2.界面说明
3.由表生成coredata使用的模型类,需要选择想生成的表
代码内:
1.NSManagedObjectModel *managedObjectModel;
数据对象模型:从.xcdatamodeld文件得到模型.
2.NSManagedObjectContext *managedObjectContext;
上下文:管理数据的增删改查(CRUD),保存的对象.
3.NSPersistentStoreCoordinator *persistentStoreCoordinator;
持久化储存协调者:将数据保存成数据库放置在沙盒中.
4.NSManagedObject *obj;
保存数据库中表对应的对象.
5.NSFetchRequest *fetchRequest;
设定查找条件,配合NSPredicate(设定条件),NSEntityDescription(设定哪个表),context(取得搜索结果)使用
6.NSEntityDescription *entity;
取得表的数据模型
7.NSPredicate *predicate;
用于设定筛选条件的类.介绍:nshipster.cn/nspredicate/
流程:
1.搭建CoreData运行环境:
ApplicationDelegate.h (@interface 添加属性和方法)
ApplicationDelegate.m
根据xcdatamodeld配置代码中的数据模型,持久化储存协调者,管理数据的上下文.
2.使用:
查找:(NSFetchRequest,NSPredicate联用,配合context筛选出想要的表对象)
读取:(kPerson是表名(Entity),需要取得AppDelegate而得到上下文等属性)
删除:
增加:
修改:
补充:context管理一切由表生成的对象(以下可以代替删除里的筛选部分)
后记:
给自己保存下来,温故知新.记得很乱,排版很乱.