从NSManagedObject请求数组中获取平均值

时间:2014-05-27 12:15:32

标签: ios objective-c core-data nspredicate nsmanagedobject

我需要从我的NSManagedObject数组获得平均价格。 我执行了NSFetchRequest并检索了靠近用户位置的一组对象。 我现在要做的是从此获取结果中获取平均价格。我试过检索NSNumber这样的对象

NSNumber *average = [resultArray valueForKeyPath:@"@avg.price"];
// always return 0

通过我的NSManagedObject类名称(如

)访问变量,尝试使用KVC
NSNumber *average = [resultArray valueForKeyPath:@"Product.@avg.price"];
// returned an error -[NSNull decimalValue]: unrecognized selector sent to instance

无法与NSPredicate同时使用它,现在整天都在与它斗争,无法理解它。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您无需在@avg前添加Product运算符。

使用NSNumber *average = [resultArray valueForKeyPath:@"@avg.price"];,您应该没问题。

有关KVC集合运算符的更多信息,例如@avg@sum和其他人,请参阅此优秀的NSHipster article