Быстрое среднее количество элементов в базе данных - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь рассчитать среднесуточный рейтинг тренировок в моем приложении. мои результаты продолжают возвращаться как NaN. Моя база данных показывает, что там есть рейтинги. Вот моя средняя рейтинговая функция

  extension Appointment {
  func averageReview() -> Double {
    guard let workouts = workouts?.allObjects as? [Workout] else {
        return 0
    }
    let total = Double(workouts.reduce(0) { $0 + $1.review})
    let results = Double(total) / Double(workouts.count)
    return results
}

}

1 Ответ

0 голосов
/ 25 апреля 2018

Вы делите на workouts.count, не убедившись, что оно не равно нулю.

extension Appointment {
     func averageReview() -> Double {
         guard let workouts = workouts?.allObjects as? [Workout], workouts.count > 0 else {
             return 0
         }
         let total = Double(workouts.reduce(0) { $0 + $1.review})
         let results = Double(total) / Double(workouts.count)
         return results
     }

}
...