瞭解CoreData的使用之前先看看CoreData中三個主要類
-
CoreData 進行增刪改查的時候常用的類:
NSEntityDescription
: 獲取實體物件NSFetchRequest
: 請求體NSPredicate
: 請求條件NSSortDescriptor
: 排序 -
CoreData 進行增刪改查的簡單操作
先引入標頭檔案#import "AppDelegate.h"
底下用到的方法是建立CoreData時系統自動載入到AppDelegate.m中的,所以要先獲取到UIApplication的代理物件;
self.myApp = [UIApplication sharedApplication].delegate;
複製程式碼
####- CoreData增:
1.獲取實體物件(下面用到)
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Teacher" inManagedObjectContext:self.myApp.managedObjectContext];
2.初始化的時候使用CoreData的initWithEntity進行初始化
Teacher *teacher = [[Teacher alloc] initWithEntity:entity insertIntoManagedObjectContext:self.myApp.managedObjectContext];
3.給teacher進行賦值
teacher.name = @"呵呵";
teacher.age = 18;
4.儲存資料庫
[self.myApp.managedObjectContext save:nil];
複製程式碼
- CoreData刪:
1.獲取實體物件(下面用到)
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Teacher" inManagedObjectContext:self.myApp.managedObjectContext];
2.建立請求體
NSFetchRequest *requset = [[NSFetchRequest alloc] init];
3.建立請求條件
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
4.給請求體設定entity屬性,還有predicate屬性
requset.entity = entity;
requset.predicate = predicate;
5.獲取要刪除的資料
NSArray *array1 = [self.managedObjectContext executeFetchRequest:requset error:nil];
6.遍歷之後,使用deleteObject:刪除物件
for (Student *stu2 in array1) {
[self.managedObjectContext deleteObject:stu2];
}
7.儲存資料
[self.myApp.managedObjectContext save:nil];
複製程式碼
- CoreData:改
1.獲取實體物件(下面用到)
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Teacher" inManagedObjectContext:self.myApp.managedObjectContext];
2.建立請求體
NSFetchRequest *requset = [[NSFetchRequest alloc] init];
3.建立請求條件
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
4.給請求體設定entity屬性,還有predicate屬性
requset.entity = entity; requset.predicate = predicate;
5.獲取要修改的資料
NSArray *array1 = [self.managedObjectContext executeFetchRequest:requset error:nil];
6.遍歷之後,修改要修改的屬性
for (Student *stu2 in array1) {
stu2.name = @"需要修改的內容";
}
7.儲存資料
[self.myApp.managedObjectContext save:nil];
複製程式碼
- CoreData:查
1.獲取實體物件(下面用到)
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Teacher" inManagedObjectContext:self.myApp.managedObjectContext];
2.建立請求體
NSFetchRequest *requset = [[NSFetchRequest alloc] init];
3.建立請求條件
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age = 18"];
4.給請求體設定entity屬性,還有predicate屬性
requset.entity = entity;
requset.predicate = predicate;
5.獲取所查詢的內容
NSArray *array1 = [self.managedObjectContext executeFetchRequest:requset error:nil];
6.儲存資料
[self.myApp.managedObjectContext save:nil];
複製程式碼
- CoreData的版本遷移
總結:
從以上可以看到我們使用coreData對資料庫進行操作的增刪改查就使用了幾個類,步驟都差不多,除了增加資料的時候,其他的基本都是一樣的,只要理解以上常用的類,靈活使用就可以對資料進行想要的操作了。