Моя проблема довольно проста:
- У меня много данных в базе данных (кстати, я использую Firebase)
- Я хотел бы получить эти оценки (это легко) и отсортировать их (менее легко)
Если пользователь закончит тренировку, он введет свое время, если нет, он введет номер или повторения.
Проще говоря, объект результата выглядит так:
Result
|_ resultValue (Int) // It can be time in seconds or number of reps
|_ isFinished (Int) // It can be 0 (not finished) or 1 (finished)
Я бы хотел отсортировать массив результатов следующим образом:
- Первое: все результаты с isFinished == 1 выше, чем остальные
- Тогда: сортировать результаты, где isFinished == 1 по resultValue DESC
- Наконец: сортировка результатов, где isFinished == 0 по значению результата ASC
Я пробовал что-то подобное:
self.results = self.results.sorted {
($0.result.isForTimeFinished!, $0.result.resultValue!) >
($1.result.isForTimeFinished!, $1.result.resultValue!)
}
Таким образом, результаты тренировки не завершены, после того, как результаты тренировки завершены, но "Сортировать результаты, где isFinished == 1 по resultValue DESC" не в порядке ...
Вы знаете, как я мог бы объединить все это?