売上高を報告するためのアプリを構築しています。コアデータ構造は次のとおりです。
Product <---->> SaleAggregate
Customer <---->> SaleAggregate
SaleAggregate は、特定の月の顧客ごとの製品ごとの合計売上です。このエンティティには、「月」、「年」、および「金額」プロパティがあります。
これを次のように表形式で表示しようとしています(顧客ごとに別の表)
+---------+---------+---------+---------+---------+
| Product | 01/2011 | 02/2011 | 03/2011 | 04/2011 |
+---------+---------+---------+---------+---------+
| Gizmo | 40 | 120 | 83 | 48 |
| Widget | 92 | 38 | 37 | 36 |
| Thingy | 12 | 84 | 29 | 40 |
+---------+---------+---------+---------+---------+
各顧客は、任意の数の製品の売上を記録できます。これらの売上をすべて取得し、何らかの方法でそれらを製品ごとにグループ化し、対応する月/年で各 SaleAggregate の「金額」を表示する必要があります。
NSPredicate を使用して Customer のすべての SaleAggregates を簡単に取得でき、NSPredicate と を使用して顧客に販売されたすべての一意の製品を簡単に取得できますが@distinctUnionOfObjects
、ここからどこに行くべきかよくわかりません。
テーブルは UICollectionView で実装されていますが、適切なセルに適切な値を配置するためのロジックがどうあるべきかよくわかりませんcellForItemAtIndexPath
。1 つのクエリですべての SaleAggregate を取得し、表示する各セルの正しい月/年を NSPredicate で配列をフィルター処理するだけですか? これを行うにはもっと賢い方法が必要だと思います。
ありがとう!