CoreData - Sum/Count a FetchRequest

Hi everyone,

I am trying to sum and count each element of a fetch request which is looking for the best 10 tournaments in data.

var tournamentRequest : FetchRequest<Tournament>
var tournamentTop10 : FetchedResults<Tournament {tournamentRequest.wrappedValue}
   
init(predicate:String){
    self.predicate = predicate
    self.tournamentRequest = FetchRequest
                 (entity: Tournament.entity(),
                  sortDescriptors: [NSSortDescriptor(keyPath: \Tournament.point, ascending: false)],
                  predicate: NSPredicate(format: "date >= %@", makeDate(year: calendar.component(.year, from: date)-1, month: calendar.component(.month, from: date), day: 01, hr: 0, min: 0, sec: 0) as CVarArg))

The Tournament structure has "point" member. I would like to SUM all point of all tournament and COUNT the number of tournaments.

Can you help me? Am I clear enough?

Thank you :)

To sum:

let pointsFromEachTournament: [Int] = tournamentTop10.map { $0.point }
let sumOfAllPoints: Int = pointsFromEachTournament.reduce(0, +)

(please refer to documentation to learn more about map and reduce)

To count:

let numberOfTournaments = tournamentTop10.count
CoreData - Sum/Count a FetchRequest
 
 
Q