我有以下核心数据模型:
我根据用户选择获取PbsRow的实体(用户可以选择以jahr(年份)和monat(月份)保存的时间范围)。获取请求后,我有一个带有几个PbsRow实例的NSArray。我想要做的是计算属于每个PbsRow实体的所有WarengruppeVK实体(例如netto)的总和。我试过通过valueForKeyPath做这个,但这对我来说似乎不起作用: - (。
非常感谢任何帮助。 提前谢谢!
答案 0 :(得分:0)
所以,如果我理解正确,你想要所有现有的WarengruppeVK-s?在这种情况下,只需制作NSFetchRequest
,将实体设置为WarengruppeVK
并保留谓词nil
。
希望这有帮助!
修改强>
在这种情况下,您可以使用for来浏览获取的数据,并且每个实体都应该有一个名为NSSet
的{{1}}属性,其中包含所有它的WarengruppeVK。
答案 1 :(得分:0)
您可以随意将托管对象子类视为您控制下的子类。教他们新的技巧,比如回答这一年。
// PbsRow.h
- (NSInteger)year;
// PbsRow.m
- (NSInteger)year {
// return some function of self.jahr that you can write
}
然后......
NSInteger warrenGroupeCount = 0;
for (PbsRow *pbsRow in fetchResults) {
if ([pbsRow year] == 2012)
warrenGroupeCount += pbsRow.warengruppeVK.count;
}
答案 2 :(得分:0)
第一步:使用包含此谓词的获取请求获取您的WarengruppeVK。
[NSPredicate predicateWithFormat:@"pbsrow IN %@", pbsRowArray];
第二步:使用密钥路径机制的值。
[warengruppeVKArray valueForKeyPath:@"@sum.netto"];