簡介
Core Data是iOS5之后才出現(xiàn)的一個(gè)框架,對SQLite的一個(gè)升級(jí),它提供了對象-關(guān)系映射(ORM)的功能,即能夠?qū)C對象轉(zhuǎn)化成數(shù)據(jù),保存在SQLite數(shù)據(jù)庫文件中,也能夠?qū)⒈4嬖跀?shù)據(jù)庫中的數(shù)據(jù)還原成OC對象。在此數(shù)據(jù)操作期間,我們不需要編寫任何SQL語句,這個(gè)有點(diǎn)類似于著名的Hibernate持久化框架,不過功能肯定是沒有Hibernate強(qiáng)大的。
在CoreData中使用的幾個(gè)類。
(1)NSManagedObjectModel(被管理的對象模型)
相當(dāng)于實(shí)體,不過它包含 了實(shí)體間的關(guān)系
(2)NSManagedObjectContext(被管理的對象上下文)
操作實(shí)際內(nèi)容
作用:插入數(shù)據(jù)? 查詢? 更新? 刪除
(3)NSPersistentStoreCoordinator(持久化存儲(chǔ)助理)
相當(dāng)于數(shù)據(jù)庫的連接器
(4)NSFetchRequest(獲取數(shù)據(jù)的請求)
相當(dāng)于查詢語句
(5)NSPredicate(相當(dāng)于查詢條件)
(6)NSEntityDescription(實(shí)體結(jié)構(gòu))
(7)后綴名為.xcdatamodel的包
里面的.xcdatamodel文件,用數(shù)據(jù)模型編輯器編輯
編譯后為.momd或.mom文件,這就是為什么文件中沒有這個(gè)東西,而我們的程序中用到這個(gè)東西而不會(huì)報(bào)錯(cuò)的原因
Core Data的創(chuàng)建
首先建一個(gè)工程文件,勾選使用Coredata,然后創(chuàng)建實(shí)體表如圖:

創(chuàng)建完成后,新建一個(gè)file,記得是NSManagedObject cubclass,XCode8直接點(diǎn)擊editor創(chuàng)建


創(chuàng)建完成后由四個(gè)文件

創(chuàng)建一個(gè)繼承NSObject類,聲明三個(gè)方法,分別是插入、查詢、刪除
//插入
+ (BOOL)insertObjectWithParamter:(NSDictionary*)parameters entityName:(NSString*)entityName;
//查詢
+ (NSArray*)readWithEntityName:(NSString*)entityName predicate:(NSString*)predicateString;
//刪除
+ (BOOL)removeWithEntityName:(NSString*)entityName predicate:(NSString*)predicateString;



最后在需要的地方調(diào)用這個(gè)三個(gè)方法,就可以實(shí)現(xiàn)添、查詢、刪除的操作了