При увеличении циклов, больше одного, по окончанию каждого цикла необходимо показать первый элемент из списка массива в этом лэйбле, а по окончанию последнего цикла показать фразу об окончании тренировки. не могу подобрать условия для того чтобы корректно отображались лэйблы при смене количества цыклов.
let exersiseName = ["БЕГ", "ПРЫЖКИ", "ПРИСЕДАНИЯ"]
@IBOutlet var nameExersiseLabel = UILabel()//лэйбл с названием упражнения
@IBOutlet var timerLabel = UILabel()//лэйбл секундомера
@IBOutlet var nextExersiseLabel = UILabel()
var timer = NSTimer()
var exersiseTime = 30
var timerRunning = false
var i = 0
var sets = 2 //вводим переменную количества циклов которая будет меняться
var count = 0
func Counting(){
exersiseTime -= 1
timerLabel.text = "\(Int(exersiseTime))"
if exersiseTime == -1 {
i += 1
exersiseTime = 30
timerLabel.text = "\(Int(exersiseTime))"
if i + 1 > exersiseName.count { //Конец тренировки
count += 1
if (count >= sets) {
timerLabel.text = "0"
timer.invalidate()
timerRunning = false
} else {
i = 0
}
}
if i + 1 < exersiseName.count { //Ход тренировки
nameExersiseLabel.text = exersiseName[i] as? String
nextExersiseLabel.text = ("\(exersiseName[i + 1])")
}
if i + 1 == exersiseName.count { //Последнее упражнение в тренировке
nameExersiseLabel.text = exersiseName[i] as? String
// не могу подобрать условия ниже для того чтобы корректно отображались лэйблы при смене количества цыклов
nextExersiseLabel.text = ("\(exersiseName[0])") // Отображать при наличии последующих циклов
nextExersiseLabel.text = "WORKOUT COMPLETE!" //Отображать при выполнении последнего цыкла
}
}
}
Кнопку старта таймера не пишу, если кому-то надо, то добавлю