Как обработать CoreData Swift 4.2 - PullRequest
0 голосов
/ 09 октября 2019

У меня есть следующие сущности и отношения:

click here to see the CoreData image

Я хочу сделать расчет: я хочу получить суммы всех поступлений определенной категории и суммировать их,

Например: я хочу получить общую сумму всех чеков категории "Рестораны"

Как это сделать с помощью Swift 4.2?

1 Ответ

0 голосов
/ 09 октября 2019

Например, просто получить массив словарей, получить значения и суммировать их

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{$0["amount"]}.reduce(0, +)
} catch { print(error) }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...