-
1、创建coreData要勾选Use Core Data
-
2、
-
3、
4、如果出现link的错误把创建的模型删除
ViewController.m
#import "AppDelegate.h"
#import "ViewController.h"
#import "Person+CoreDataProperties.h"
@interface ViewController ()
@end
@implementation ViewController
- (IBAction)clicked:(UIButton *)sender {
//不管对数据库进行任何操作 都需要用到一个Context(上下文)(这个方法可以在任何地方得到AppDelegate对象)
AppDelegate *app = (AppDelegate*)[UIApplication sharedApplication].delegate;
switch (sender.tag) {
case 0:{//增加数据
Person *p = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:app.persistentContainer.viewContext];
p.name = @"李四";
p.age = 20;
[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:@"张三"]){
[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;
}
}