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



我需要从我的NSManagedObject数组中获得平均价格。我已经执行了NSFetchRequest并检索了一个接近用户位置的对象数组。我现在要做的是从这个取回结果中得到平均价格。我已经尝试通过检索NSNumber对象,像这样

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

尝试使用KVC通过我的NSManagedObject类名访问变量,如

NSNumber *average = [resultArray valueForKeyPath:@"Product.@avg.price"];
// returned an error -[NSNull decimalValue]: unrecognized selector sent to instance

无法让它与NSPredicate一起工作,现在整天都在与它战斗,我无法理解它。

不需要在@avg运算符前加上Product

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

有关KVC集合操作符的更多信息,如@avg, @sum和其他操作符,请参阅这篇优秀的NSHipster文章。

最新更新