我需要从我的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文章。