Ich habe eine einfache Timer in swift 3. erstelltSwift Timer Etikett wiederkehrende 9
Aus irgendeinem Grund aber, obwohl das Etikett Anzeige zu viele Zahlen arbeitet: S zeigt es eine verrückte Menge von 9 Jahren. Geht es um Rundungen?
Danke, Code unten :)
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()
}
Warum brauchen Sie Ihren Timer 100-mal pro Sekunde wiederholen? Sie müssen dem Benutzer nicht jeden einzelnen Bruchteil einer Sekunde anzeigen –
Verwenden Sie keinen Zeitgeber, um die Zeit zu messen. Speichern Sie einfach das Startdatum und erhalten Sie die Zeit von jetzt an –
Was wollten Sie rund machen? Willst du, dass der Timer um Sekunden steigt? Millisekunden? –