Есть много вопросов об использовании NSTimer для функций таймера, но вместо этого я использую CocoaPod "Обратный отсчет" https://github.com/suzuki-0000/CountdownLabel
Мой вопрос / проблема, в частности, заключается в том, как вызвать действие / уведомление после его завершения. Я не считаю, что это то же самое, что и многие вопросы / учебные пособия "NSTimer", но, пожалуйста, исправьте меня, если я неправильно!
Я прочитал документацию по таймеру здесь https://developer.apple.com/documentation/foundation/timer, но, опять же, не понимаю, как это применимо к «библиотеке пользовательских таймеров», такой как Cocoapod.
Я сейчас пытаюсь это ...
func testTimer() {
timerLabel.countdownDelegate = self
timerLabel.start()
if self.timerLabel.isFinished {
print("timer it's finished")
} else {self.timerLabel.start()
}
}
testTimer () затем вызывается при нажатии IBAction для запуска таймера.
Моя логика / мышление заключалось в том, что эта функция запускает таймер, а затем проверяет, закончилась ли она. Если он не завершен, он запускает / продолжает таймер (timerLabel.start) и снова проверяет в основном в цикле, пока он не завершится, а затем выдает «таймер завершен», но это не работает, и я не уверен, почему? (но строит нормально)
Я знаю, что мог бы просто отказаться от пакета и следовать учебнику по Timer (), но я пытаюсь понять / понять, как этот тип «внутреннего уведомления» для библиотек, не принадлежащих Apple, будет работать в целом одновременно с решением этого конкретного проблема. Я надеюсь, что все это имеет смысл.
NB. Некоторые вопросы / ответы, которые я прочитал, но я не считаю - это то, что мне нужно Как проверить, работает ли NSTimer в Swift или нет? , Проверьте, работает ли таймер , Выполните поиск по окончании таймера , но все они используют Apple "Timer ()".
NB. Я устанавливаю таймер ViewDidLoad с данными из Segue, как это:
let timerLabelTime = Int(selectedWorkoutTime)
timerLabel.setCountDownTime(minutes: Double((timerLabelTime)!*60))
timerLabel.countdownDelegate = self
timerLabel.pause()
который отлично работает