У меня есть одна метка, где мне нужно показать ЧСС: ММ: СЕК в таймере обратного отсчета. Но я не смог увидеть мгновенного изменения обратного отсчета.
Я использую следующую функцию:
func timeString(time: TimeInterval) -> String {
let hour = Int(time) / 3600
let minute = Int(time) / 60 % 60
let second = Int(time) % 60
return String(format: "%02i:%02i:%02i", hour, minute, second)
}
Я использую collectionViewCell
:
let remainingTime = timeString(time: TimeInterval(Int(round(expireDate.date.timeIntervalSince(Date())))))
Я до сих пор на ярлыке своей клетки вижу 02:23:23
. Но продолжай, мне нужно сделать.
Я пытался:
Timer.scheduledTimer(timeInterval: 1, target: self, selector: (#selector(self.updateTimer)), userInfo: nil, repeats: true)
remainingCount
- это мой целое число секунд
@objc func updateTimer() {
let hours = remainingCount / 3600
let mins = remainingCount / 60 % 60
let secs = remainingCount % 60
let restTime = ((hours<10) ? "0" : "") + String(hours) + ":" + ((mins<10) ? "0" : "") + String(mins) + ":" + ((secs<10) ? "0" : "") + String(secs)
label.text = "Time Remaining \(restTime)"
}
Но не уверен, как я могуобрабатывать изменение количества цифр. Любая помощь будет отличной.
Спасибо