删除条目
在上一篇文章中,可以发现有0岁的条目:
2022-03-04 16:27:23.552477+0800 CoreData实践1[72820:3059276] personName:personSomeone5009 age:0
系统想要将这些age = 0 的条目删掉。
其基本的操作是:
找到 age = 0 的条目
删除这些条目
用上下文保存
- (void)deleteSomeoneAge:(int64_t)age{
//创建请求对象(填入的是表名称)
NSFetchRequest* request = [NSFetchRequest fetchRequestWithEntityName:@"Person"];
//创建过滤器
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"age=0"];
request.predicate = predicate;
//创建一个error用于接收错误,如果有错误的话。
NSError* error = nil;
//创建一个数组用于接收查询到的数据对象
NSArray* resultArray = [self.context executeFetchRequest:request error:&error];
if (error) {
NSLog(@"查询失败,错误信息:%@",error);
}else{
NSLog(@"查询结果如下");
for (Person* person in resultArray) {
NSLog(@"personName:%@ age:%zd",person.name,person.age);
//删除
[self.context deleteObject:person];
}
//遍历删除完后,保存一下上下文
//所有的操作都是在内存中的,最后我们需要提交到数据库更新一下<