NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Order" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
//查询条件
NSString *str = @:"川菜";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"dishClass = %@",str];
[request setPredicate:predicate];//设置查询条件,即查询所有dishClass为川菜的数据
//依照dishCount对查询结果排序
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"dishCount" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
NSError *error = nil;
//获得一个包含order对象的数组
NSMutableArray *mutableFetchResults = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
//遍历取出数据
for (int j = 0;j < mutableFetchResults.count; j++) {
Order *order = [mutableFetchResults objectAtIndex:j];
NSString *name = order.dishName;
NSString *class = order.dishClass;
NSString *count = [NSString stringWithFormat:@"%d",order.dishName];
}
coredata 查询操作的核心代码
最新推荐文章于 2025-12-04 16:09:55 发布
本文介绍了一个使用 Core Data 进行复杂查询的例子。通过 NSFetchRequest 和 NSPredicate 设置查询条件,根据 dishClass 字段筛选出“川菜”类别,并按 dishCount 字段进行降序排序。
1142

被折叠的 条评论
为什么被折叠?



