私は経費トラッカーアプリを書いていると、これは私のデータモデルである一定の関係プロパティの合計を返すためにNSFetchedResultsControllerを使用する方法:述語
私は(定期的に表示し、一の画面で毎日のように)毎月(例えば毎日)のすべてのカテゴリと費用の合計をで取得するには、NSFetchedResultsController
を使用します。期間は2つのNSDate
変数で定義されています(startDate
とendDate
)。私は週報と月報も表示するので、NSFetchedResultsController
の要約のインデックスに依存する必要があります。また、合計がゼロであっても、NSFetchedResultsController
がカテゴリを返すようにします。私はこれを設定する方法を知らない。私は正常に私のCategory
エンティティにNSFetchedResultsController
を構築し、そのexpenses
関係の合計を取得するためにNSExpressionDescription
を使用しましたが、それはすべての費用を合計し、私が指定する方法を見つけることができません。私が試した何
包含期間。
let request = NSFetchRequest(entityName: Category.entityName)
request.resultType = .DictionaryResultType
request.propertiesToFetch = [
"name", "color",
{
let totalColumn = NSExpressionDescription()
totalColumn.name = "total"
totalColumn.expression = NSExpression(format: "@sum.expenses.amount")
totalColumn.expressionResultType = .DecimalAttributeType
return totalColumn
}()
]
request.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
let fetcher = NSFetchedResultsController(fetchRequest: request, managedObjectContext: App.state.mainQueueContext, sectionNameKeyPath: nil, cacheName: nil)
私はまた、フェッチされたプロパティについて読んでいましたが、私はまた、フェッチNSFetchedResultsController
火災の前に、述語でstartDate
とendDate
を示すための方法を見つけることができません。助けて?
'NSFetchedResultsController'を使用する理由はありますか?私はあなたが望むものを提供できるとは思わない(少なくとも、多くの仕事をしていないわけではない)。単一の期間(曜日、週など)で可能かもしれませんが、*すべての*単一期間が必要です。述部を再構築し、フェッチを各期間ごとに再実行する必要があります。すべての経費を繰り返し、カテゴリと期間の組み合わせごとに合計金額を計算するほうが簡単かもしれません。 – pbasdf