iPhone:核心数据,如何从数据库获取值的总和

标签 iphone core-data

我有一个模型“Pens”,它具有以下属性:“makerName”和“Count”。我怎样才能得到所有“计数”的总和? Core Data 可以帮我算一下吗?谢谢...

最佳答案

是的,您可以从核心数据中获取这些数据,而不是获取和评估结果。您可以使用 NSExpression 对核心数据执行求和等功能。

NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"Count"];
NSExpression *sumOfCountExpression = [NSExpression expressionForFunction:@"sum:"
                                              arguments:[NSArray arrayWithObject:keyPathExpression]];

有关可以使用的功能列表,请转到此处

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSExpression_Class/Reference/NSExpression.html .

然后,您需要创建一个 NSExpressionDescription 对象,在其中设置刚刚创建的 sumOfCountExpression 的表达式。

NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
[expressionDescription setName:@"sumOfCount"];
[expressionDescription setExpression:sumOfCountExpression];
[expressionDescription setExpressionResultType:NSDoubleAttributeType];

然后像平常一样构建您的请求,然后设置属性以获取该表达式。

[request setPropertiesToFetch:[NSArray arrayWithObject:expressionDescription]];

引用:Core Data Programming Guide

关于iPhone:核心数据,如何从数据库获取值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8680975/

相关文章:

iOS 表格 - iPad 和 iPhone 上的相同代码不同颜色

iPhone 核心数据 - 获取的托管对象未在设备上发布(在模拟器上很好)

ios - 我们可以从苹果应用商店订购批量优惠券代码吗?

ios - 应用内购买验证 - 根据用户验证购买

ios - TableView Cell 自定义类型 Text 自身重叠或为空白

cocoa - 为什么在 -[_PFManagedObjectReferenceQueue _queueForDealloc :]? 中释放托管对象可能会崩溃

ios - 如何在启动时未检查 'use Core Data' 选项的项目中获取核心数据?

iphone - UIWebView Controller 的问题

ios - 使用 icloud 进行本地核心数据存储

ios - NSManagedObjectContext:带有通知中心的 performBlockAndWait 与 performBlock