Обновлять индикатор выполнения каждые миллисекунды

library(plyr)
ddply(tbl, .(Category), summarise, sum = sum(Frequency))
0
задан BlueBear 15 January 2019 в 23:19
поделиться

2 ответа

Запуск функции с timer каждую миллисекунду не рекомендуется, ссылка: https://stackoverflow.com/a/30983444/8447312

Так что вы можете запускать функцию таймера каждый 50 миллисекунд, чтобы быть в безопасности и обновить свой индикатор выполнения. Это не должно быть слишком заметным.

Также убедитесь, что timeRemaining является Double, а затем просто попробуйте:

func startTimer() {

    timer = Timer.scheduledTimer(timeInterval: 0.050, target: self, selector: #selector(timerUpdate), userInfo: nil, repeats: true)

}

@objc func timerUpdate() {

    if timeRemaining <= 0 {
        progressBar.setProgress(Float(0), animated: false)
        bonusTimerLabel.text = "0"
        bonusTimerLabel.textColor = UIColor(red: 186/255, green: 16/255, blue: 16/255, alpha: 1)

    } else {
        progressBar.setProgress(Float(timeRemaining)/Float(20), animated: false)
        timeRemaining -= 0.050
        bonusTimerLabel.text = "\(Int(timeRemaining))"
    }
0
ответ дан emrepun 15 January 2019 в 23:19
поделиться

1 миллисекунда равна 0,001 секунде. Поэтому измените свойство timerInterval в timer на 0,001:

timer = Timer.scheduledTimer(timeInterval: 0.001, target: self, selector: #selector(timerUpdate), userInfo: nil, repeats: true)
0
ответ дан jMelvins 15 January 2019 в 23:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: