私はExpense
がCategory
にしか属していない可能性がありますが、Tag
を複数持つことができる費用トラッカーを構築しています。 、私はテーブルビューにすべての費用を一覧表示画面でNSFetchedResultsControllerでサブセクションを作成する方法
私は、費用は日付(sectionDate
)によってグループ化することにしたい、そしてCategory
によって(または、:これは私のオブジェクトグラフでありますセグメント化されたコントロールを使用して、Tag
)。これは意図したUIである:
私はすでに、その後、カテゴリによって、日付別のセクションにそれらを、すべての費用NSFetchedResultsController
問い合わせを行うことができますが、私はカテゴリの(1)の合計を取得し、(することはできません2)その中の費用のリスト。どうすればそれを進めることができますか?
let fetchedResultsController: NSFetchedResultsController<NSFetchRequestResult> = {
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Expense")
fetchRequest.resultType = .dictionaryResultType
fetchRequest.sortDescriptors = [
NSSortDescriptor(key: #keyPath(Expense.sectionDate), ascending: false)
]
fetchRequest.propertiesToFetch = [
#keyPath(Expense.sectionDate),
#keyPath(Expense.category)
]
fetchRequest.propertiesToGroupBy = [
#keyPath(Expense.sectionDate),
#keyPath(Expense.category)
]
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest,
managedObjectContext: Global.coreDataStack.viewContext,
sectionNameKeyPath: #keyPath(Expense.sectionDate),
cacheName: nil)
return fetchedResultsController
}()
は、その日付のグループであるすべてのアイテムについて、同じ 'sectionDate'ですか? –
@JonRoseはい。 'dateSpent'が変更されるたびに' sectionDate'を設定する 'Expense'の拡張があります。 'sectionDate'は、MM/DD/YYコンポーネントのみを持つ' dateSpent'です。 'sectionDate'自体もコアデータに格納されています。一時的なプロパティではありません。 –