CoreData:
簡述:蘋果封裝了SQLite數(shù)據(jù)庫的功能,為蘋果開發(fā)者提供的一種數(shù)據(jù)持久化工具.
構(gòu)造:
代碼外:
1.生成xcdatamodeld文件(建立entity數(shù)據(jù)模型)
2.界面說明
3.由表生成coredata使用的模型類,需要選擇想生成的表
代碼內(nèi):
1.NSManagedObjectModel *managedObjectModel;
數(shù)據(jù)對象模型:從.xcdatamodeld文件得到模型.
2.NSManagedObjectContext *managedObjectContext;
上下文:管理數(shù)據(jù)的增刪改查(CRUD),保存的對象.
3.NSPersistentStoreCoordinator *persistentStoreCoordinator;
持久化儲存協(xié)調(diào)者:將數(shù)據(jù)保存成數(shù)據(jù)庫放置在沙盒中.
4.NSManagedObject *obj;
保存數(shù)據(jù)庫中表對應(yīng)的對象.
5.NSFetchRequest *fetchRequest;
設(shè)定查找條件,配合NSPredicate(設(shè)定條件),NSEntityDescription(設(shè)定哪個(gè)表),context(取得搜索結(jié)果)使用
6.NSEntityDescription *entity;
取得表的數(shù)據(jù)模型
7.NSPredicate *predicate;
用于設(shè)定篩選條件的類.介紹:nshipster.cn/nspredicate/
流程:
1.搭建CoreData運(yùn)行環(huán)境:
ApplicationDelegate.h (@interface 添加屬性和方法)
ApplicationDelegate.m
根據(jù)xcdatamodeld配置代碼中的數(shù)據(jù)模型,持久化儲存協(xié)調(diào)者,管理數(shù)據(jù)的上下文.
2.使用:
查找:(NSFetchRequest,NSPredicate聯(lián)用,配合context篩選出想要的表對象)
讀取:(kPerson是表名(Entity),需要取得AppDelegate而得到上下文等屬性)
刪除:
增加:
修改:
補(bǔ)充:context管理一切由表生成的對象(以下可以代替刪除里的篩選部分)
后記:
給自己保存下來,溫故知新.記得很亂,排版很亂.