1

CoreDataを使用するプログラムがあります。ループ内の各エンティティから数値を追加するとき、私はちょっと浮気していました。NSPredicateを使用してデータをフィルタリングする方法について読みましたが、データを操作する方法や、結果を保存する方法さえわかりません。ありがとう。

4

2 に答える 2

13

それがあなたの要件に合うならば、あなたは2つのステップでそれをすることができます。

  1. まず、データをでフィルタリングし、NSPredicateすべてをに保持しますNSArray
  2. 次に、Key-Valueコーディングで複合演算子を使用して合計を取得します。

以下はそれがどのように行われるかの例です。自己完結型にするために、コアデータの代わりにハードコードされた配列が使用されます。

// In reality this array would be the result of a Core Data query:
NSArray *numbers = @[@{@"number":@3},
                     @{@"number":@2}];

NSNumber *sum = [numbers valueForKeyPath:@"@sum.number"];

ここでの秘訣は@sum複合演算子です。ここでそれ(および同様の演算子の別のカップル)について読むことができます

于 2012-08-13T10:17:50.133 に答える
1

NSExpressionDescription を使用して、Core Data に合計を実行させることができます。私が似たようなことをしていたとき、この記事をチュートリアルとして使用しました。

于 2012-08-13T03:06:23.727 に答える