Это немного сбивает с толку то, что вы просите.Чтобы проверить, является ли сумма некоторых элементов больше некоторого значения, лучше всего использовать reduce
в swift.Примерно так:
private func checkRewardAchieved(_ reward: Reward, withJourneys journeys: [Journey]) -> Bool {
return journeys.reduce(0.0, { $0 + $1.distance }) >= reward.distance
}
Здесь journeys.reduce(0.0, { $0 + $1.distance })
вернет сумму всех расстояний в вашем массиве.Затем сумма сравнивается с вознаграждениями >= reward.distance
, и результат может быть истинным или ложным.
Хотя было бы неплохо вычислить сумму напрямую с основными данными.Для этого этот ответ выглядит многообещающе.