Я создал простой таймер в быстром 3.Swift этикетки таймера повторяющейся 9
По некоторым причинам, хотя, несмотря на то, что работает дисплей на этикетку слишком много номеров: S отображает сумасшедшее количество 9-х. Это связано с округлением?
Спасибо, код ниже :)
var swiftTimer : Timer?
var swiftCounter: Double = 0.00
@IBOutlet weak var displayTimeLBL: UILabel!
@IBAction func start(_ sender: Any) {
swiftTimer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(ViewController.updateCounter), userInfo: nil, repeats: true)
}
@IBAction func stop(_ sender: Any) {
if swiftTimer != nil{
swiftTimer?.invalidate()
swiftCounter = 0.00
updateLabel()
swiftTimer = nil
}
}
func updateLabel(){
displayTimeLBL.text = String(swiftCounter)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func updateCounter(){
swiftCounter+=0.01
round(swiftCounter)
updateLabel()
}
Зачем вам нужен таймер повторить 100 раз в секунду? Вам не нужно отображать каждую часть секунды пользователю –
Не используйте таймер для измерения времени. Просто сохраните дату начала и получите timeInterval с этого момента –
Что заставило вас хотеть округлить? Вы хотите, чтобы таймер увеличивался на несколько секунд? Миллисекунды? –