-
CoreData 进行增删改查的时候常用的类:
NSEntityDescription: 获取实体对象
NSFetchRequest: 请求体
NSPredicate: 请求条件
NSSortDescriptor: 排序 -
首先
声明一个属性,将UIApplication单例的代理设置为它
@property(nonatomic,strong)AppDelegate *App;
self.App = [UIApplication sharedApplication].delegate;
- CoreData增:
1.获取实体对象(下面用到)
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.managedObjectContext];
2.初始化的时候使用CoreData的initWithEntity进行初始化
Person *person = [[Person alloc] initWithEntity:entity insertIntoManagedObjectContext:self.App.managedObjectContext];
3.给person进行赋值
Person.name = @"呵呵";
Person.age = 18;
4.保存数据库
[self.App saveContext];
- CoreData删:
1.获取实体对象(下面用到)
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.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 *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
6.遍历之后,使用deleteObject:删除对象
for (Student *stu in array) {
[self.managedObjectContext deleteObject:stu];
}
7.保存数据
[self.App saveContext];
- CoreData:改
1.获取实体对象
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.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 *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
6.遍历之后,修改要修改的属性
for (Student *stu in array) {
stu.name = @"需要修改的内容";
}
7.保存数据
[self.App saveContext];
- CoreData:查
1.获取实体对象(下面用到)
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Person" inManagedObjectContext:self.App.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 *array = [self.managedObjectContext executeFetchRequest:requset error:nil];
- 总结:
从以上可以看到我们使用coreData对数据库进行操作的增删改查就使用了几个类,步骤都差不多,除了增加数据的时候,其他的基本都是一样的,只要理解以上常用的类,灵活使用就可以对数据进行想要的操作了。
网友评论