IOS/Objective C/Core 数据:对查询中某个属性的所有值求和

IOS/Objective C/Core Data: Sum all the values for an attribute from query

我想在从核心数据中获取数据后将某个属性的所有值相加。有没有一些快捷方式,比如 sum 可以很快 return this.

这是我的标准提取代码。寻找可以将 orderprice 的值相加以获得所有订单总和的东西

- (id) getSalesTotal{
    NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Orders"];
    fetchRequest.resultType = NSDictionaryResultType;

    NSError *error      = nil;
    self.managedObjectContext = [IDModel sharedInstance].managedObjectContext;

    NSArray *results    = [self.managedObjectContext executeFetchRequest:fetchRequest
                                                                   error:&error];
    NSLog(@"error is %@",error);
    // NSLog(@"context%@",results);
    NSLog(@"beforevalueforkey%@",results);
    NSMutableArray * ordertotal = [[results valueForKey:@"orderprice"] mutableCopy];
    return ordertotal;//Is there something like sum(ordertotal)?????
}

您可以使用键值编码:

NSNumber *orderTotal = [arrayWhoseSumIsToBeCalculated valueForKeyPath:@"@sum.self"];