我进行了核心数据查询,以汇总按 3 列(npi、po 和 nit)分组的成本
NSExpressionDescription* ex = [[NSExpressionDescription alloc] init];
[ex setExpression:[NSExpression expressionWithFormat:@"@sum.ce"]];
[ex setExpressionResultType:NSDecimalAttributeType];
[ex setName:@"sum"];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"npi",@"po", @"nit", ex, nil]];
[fetchRequest setPropertiesToGroupBy:[NSArray arrayWithObjects:@"npi",@"po", @"nit", nil]];
[fetchRequest setResultType:NSDictionaryResultType];
效果很好。
但我想对总和列进行排序,如果我使用“经典”NSSortDescriptor:
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"sum" ascending:YES]]];
它不起作用,因为sum
不在 BMA 实体中