CoreData框架的使用

CoreData框架使用的思路:

一、創建上下文的思路
1.”初始化 NSManagedObjectModel 對象,加載模型文件,讀取 app 中所有的實體信息

NSManagedObjectModel * model = [NSManagedObjectModel mergedModelFromBundles:nil];

2.”根據 model 來初始化,NSPersistentStoreCoordinator 對象,並添加持久化庫

NSPersistentStoreCoordinator * psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];

2.1”添加數據庫

NSString * doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSURL * url = [NSURL fileURLWithPath:[doc stringByAppendingPathComponent:@"person.sqlite"]];
[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:url options:nil error:nil];

3.”根據 psc 初始化上下文NSManagedObjectContext 對象

NSManagedObjectContext *context = [[NSManagedObjectContext alloc ] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
context.persistentStoreCoordinator = psc;

二、添加數據到數據庫思路
1.”根據上下文創建對象

Person * person = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.context];
person.name = @"WB";
person.age = 26;

2.”利用上下文對象,將數據同步到持久化存儲庫

[context save:nil];

三、從數據庫中查找數據
1.”初始化一個查詢請求

NSFetchRequest *request = [[NSFetchRequest alloc] init];

2.”設置要查詢的實體

request.entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.context];

3.”執行請求

NSArray *objs = [self.context executeFetchRequest:request error:nil];

四、刪除數據庫中的數據
1.”傳入需要刪除的實體對象

[context deleteObject:managedObject];

2.”將結果同步到數據庫

[context save:nil];
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章