Coredata
1、获取程序中的appdelegate对象,以便使用其coredata相关的属性和方法
AppDelegate *_app = [UIApplication sharedApplication].delegate;
2、coredata存数据
//初始化实体,注意@“”里直接放实体类名字
My *my = [NSEntityDescription insertNewObjectForEntityForName:@"Myimanager" inManagedObjectContext:_app.managedObjectContext];
my.name = @"小名";
[_app saveContext];//保存
NSLog(@"%@",NSHomeDirectory());
3、查询:只有/*1、2、3*/句时,代表查询所有,/*5、6*/结合,设置查询条件
/*1*/NSFetchRequest *request = [[NSFetchRequest alloc]init];//创建空语句
/*2*/NSEntityDescription *en = [NSEntityDescription entityForName:@"My" inManagedObjectContext:_app.managedObjectContext];//创建要查询的实体
/*3*/[request setEntity:en];//创建查询语句
/*4*/NSPredicate *p = [NSPredicate predicateWithFormat:@"name = %@ ",@"小真"];//查询条件
/*5*/[request setPredicate:p];//将查询条件放入查询语句
NSArray *arr= [_app.managedObjectContext executeFetchRequest:request error:nil];//执行查询语句,并且返回查询结果
//便利数组
for (My *s in arr) {
NSLog(@"%@",s.name);
}
[_app saveContext];//保存
// NSArray *arr1 = [_app.managedObjectContext executeFetchRequest:request error:nil];
// for (My *s1 in arr1) {
// NSLog(@"%@",s1.name);
// }
4、删除
NSFetchRequest *f1 =[[NSFetchRequest alloc]init];
NSEntityDescription *en1 = [NSEntityDescription entityForName:@"My" inManagedObjectContext:_app.managedObjectContext];//创建要查询的实体
[f1 setEntity:en1];//创建查询语句
NSPredicate *p1 = [NSPredicate predicateWithFormat:@"name = %@",@"小真"];//查询条件
[f1 setPredicate:p1];//将查询条件放入查询语句
NSArray *arr1 = [_app.managedObjectContext executeFetchRequest:f1 error:nil];
for (My *s1 in arr1) {
[_app.managedObjectContext delete:s1];
}
NSFetchRequest *f2 = [[NSFetchRequest alloc]init];
[f2 setEntity:en1];
NSArray *arr3 = [_app.managedObjectContext executeFetchRequest:f2 error:nil];
NSLog(@"%@",arr3);