如何处理CoreData Swift 4.2

How to process CoreData Swift 4.2

我有以下实体和关系:

我想做一个计算: 我想获取特定类别的所有收据的金额并将它们相加。

例如: 我想检索类别 "Restaurants"

的所有收据的总金额

我如何使用 Swift 4.2 做到这一点?

例如简单地获取一个字典数组,获取值并将它们相加

let request : NSFetchRequest<NSDictionary> = NSFetchRequest(entityName: "Receipt")
request.resultType = .dictionaryResultType
request.propertiesToFetch = ["amount"]
request.predicate = NSPredicate(format: "toCategory.category == %@", "Restaurant")
do {
    let objects = try managedObjectContext.fetch(request) as! [[String:Int]]
    let sum = objects.compactMap{[=10=]["amount"]}.reduce(0, +)
} catch { print(error) }