0

我有以下核心数据模型:

数据模型

我根据用户选择获取 PbsRow 的实体(用户可以选择保存在 jahr(年)和 monat(月)中的时间范围)。获取请求后,我有一个带有几个 PbsRow 实例的 NSArray。我想做的是计算属于每个 PbsRow 实体的所有 WarengruppeVK 实体(例如 netto)的总和。我曾尝试通过 valueForKeyPath 执行此操作,但这似乎对我不起作用:-(。

任何帮助将不胜感激。提前致谢!

4

3 回答 3

0

因此,如果我理解正确,您想要所有现有的 WarengruppeVK-s?在这种情况下,只需创建一个NSFetchRequest,将实体设置为WarengruppeVK并保留谓词nil

希望这可以帮助!

编辑:

在这种情况下,您可以使用 for 浏览您获取的数据,并且每个实体都应该有一个NSSet名为的属性,warengruppeVK其中包含它的所有 WarengruppeVK。

于 2013-03-26T16:54:08.940 回答
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;
}
于 2013-03-26T17:25:12.397 回答
0

第一步:使用包含此谓词的获取请求获取您的 WarengruppeVK。

[NSPredicate predicateWithFormat:@"pbsrow IN %@", pbsRowArray]; 

第二步:使用键路径机制的值。

[warengruppeVKArray valueForKeyPath:@"@sum.netto"]; 
于 2013-03-26T21:53:13.610 回答