CoreDataを使用するプログラムがあります。ループ内の各エンティティから数値を追加するとき、私はちょっと浮気していました。NSPredicateを使用してデータをフィルタリングする方法について読みましたが、データを操作する方法や、結果を保存する方法さえわかりません。ありがとう。
1989 次
2 に答える
13
それがあなたの要件に合うならば、あなたは2つのステップでそれをすることができます。
- まず、データをでフィルタリングし、
NSPredicate
すべてをに保持しますNSArray
。 - 次に、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 に答える