IOS coredata基礎 – iPhone手機開發 iPhone軟體開發教學課程

IOS coredata基礎。coredata是OC語言對於SQlite的又一次封裝,支持自定義對象添加到關系型數據庫的表中。sqlite隻支持基礎數據類型的添加。

下面我們一起通過一個demo來學習一下如何使用coredata

首先新建工程需要勾選上use coredata

這裡寫圖片描述

然後添加實體,也就是要添加的一張表

這裡寫圖片描述

按照下圖步驟修改實體名,以及添加實體,也就是表中的字段

這裡寫圖片描述

生成實體,也就是生成表

這裡寫圖片描述

編譯調試,如果報錯刪除下圖對應代碼

這裡寫圖片描述

這裡寫圖片描述

好瞭,準備工作完成,接下來我們就可以使用coredata瞭。還是使用增刪改查功能。

首先導入需要的頭文件

#import "Person+CoreDataProperties.h"

#import "AppDelegate.h"

case 0:{//增加數據

Person *p = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:app.persistentContainer.viewContext];

p.name = @"李四";

p.age = 32;

Person *p1 = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:app.persistentContainer.viewContext];

p1.name = @"李san";

p1.age = 11;

Person *p2 = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:app.persistentContainer.viewContext];

p2.name = @"旺旺";

p2.age = 21;

[app saveContext];

}

break;

case 1://刪除

{

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];

NSArray *persons = [app.persistentContainer.viewContext executeFetchRequest:request error:nil];

for (Person *p in persons) {

// if ([p.name isEqualToString:@"李san"]) {

[app.persistentContainer.viewContext deleteObject:p];

[app saveContext];

// }

}

}

break;

case 2://修改

{

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];

NSArray *persons = [app.persistentContainer.viewContext executeFetchRequest:request error:nil];

for (Person *p in persons) {

if ([p.name isEqualToString:@"李四"]) {

p.name = @"王五";

p.age = 88;

[app saveContext];

}

}

}

break;

case 3://查詢

{

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];

NSArray *persons = [app.persistentContainer.viewContext executeFetchRequest:request error:nil];

for (Person *p in persons) {

NSLog(@"%@ %d %@",p.name,p.age,p.objectID);

}

}

break;

}

下面我們來測試一下coredata使用情況

點擊添加,再點擊查詢,結果如下:

這裡寫圖片描述

然後點擊刪除,在查詢

這裡寫圖片描述

然後點擊修改,在查詢

這裡寫圖片描述

完全符合預期。可以看到coredata可以正常使用

發佈留言