0

私は次のコアデータモデルを持っています:

データ・モデル

ユーザーの選択に応じてPbsRowのエンティティをフェッチしています(ユーザーはjahr(年)とmonat(月)で保存される時間枠を選択できます)。リクエストをフェッチした後、いくつかのPbsRowインスタンスを持つNSArrayがあります。私がやりたいのは、各PbsRowエンティティに属するすべてのWarengruppeVKエンティティ(たとえば、netto)の合計を計算することです。valueForKeyPathでこれを実行しようとしましたが、これはうまくいかないようです:-(。

どんな助けでも大歓迎です。前もって感謝します!

4

3 に答える 3

0

それで、私がそれを正しく理解しているなら、あなたはすべての既存のWarengruppeVK-sが欲しいですか?この場合、を作成しNSFetchRequest、エンティティをに設定してWarengruppeVK、述語を残しnilます。

お役に立てれば!

編集:

この場合、取得したデータをforで調べることができ、各エンティティには、すべてのWarengruppeVKを含むというNSSetプロパティが必要です。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

ステップ1:この述語を含むフェッチ要求を使用してWarengruppeVKをフェッチします。

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

ステップ2:キーパスメカニズムの値を使用します。

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