簡介
Core Data是iOS5之后才出現(xiàn)的一個框架,對SQLite的一個升級焰檩,它提供了對象-關系映射(ORM)的功能,即能夠將OC對象轉化成數(shù)據(jù),保存在SQLite數(shù)據(jù)庫文件中堰燎,也能夠將保存在數(shù)據(jù)庫中的數(shù)據(jù)還原成OC對象。在此數(shù)據(jù)操作期間笋轨,我們不需要編寫任何SQL語句秆剪,這個有點類似于著名的Hibernate持久化框架,不過功能肯定是沒有Hibernate強大的爵政。
在CoreData中使用的幾個類仅讽。
(1)NSManagedObjectModel(被管理的對象模型)
相當于實體,不過它包含 了實體間的關系
(2)NSManagedObjectContext(被管理的對象上下文)
操作實際內容
作用:插入數(shù)據(jù)? 查詢? 更新? 刪除
(3)NSPersistentStoreCoordinator(持久化存儲助理)
相當于數(shù)據(jù)庫的連接器
(4)NSFetchRequest(獲取數(shù)據(jù)的請求)
相當于查詢語句
(5)NSPredicate(相當于查詢條件)
(6)NSEntityDescription(實體結構)
(7)后綴名為.xcdatamodel的包
里面的.xcdatamodel文件钾挟,用數(shù)據(jù)模型編輯器編輯
編譯后為.momd或.mom文件洁灵,這就是為什么文件中沒有這個東西,而我們的程序中用到這個東西而不會報錯的原因
Core Data的創(chuàng)建
首先建一個工程文件掺出,勾選使用Coredata处渣,然后創(chuàng)建實體表如圖:
創(chuàng)建完成后,新建一個file蛛砰,記得是NSManagedObject cubclass,XCode8直接點擊editor創(chuàng)建
創(chuàng)建完成后由四個文件
創(chuàng)建一個繼承NSObject類,聲明三個方法罐栈,分別是插入、查詢泥畅、刪除
//插入
+ (BOOL)insertObjectWithParamter:(NSDictionary*)parameters entityName:(NSString*)entityName;
//查詢
+ (NSArray*)readWithEntityName:(NSString*)entityName predicate:(NSString*)predicateString;
//刪除
+ (BOOL)removeWithEntityName:(NSString*)entityName predicate:(NSString*)predicateString;
最后在需要的地方調用這個三個方法荠诬,就可以實現(xiàn)添、查詢位仁、刪除的操作了