Ich habe ein Problem mit zwei Timern, die im selben View Controller laufen. Ich brauche einen von ihnen zu starten, wenn der andere für ungültig erklärt wird und nach dem Startknopf für den ersten erneut angezapft wird. Ich habe versucht, zwei Variablen zu erstellen, und es baut erfolgreich, aber das Verhalten ist unberechenbar. Was wäre der richtige Ansatz? DankIch brauche zwei Timer im selben View Controller ios
@IBAction func Start(_ sender: AnyObject) {
timer2.invalidate()
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(ViewController.update), userInfo: nil, repeats: true)
}
@IBAction func pauseTimer(_ sender: AnyObject) {
timer.invalidate()
timer2 = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: Selector(("increaseTimer")), userInfo: nil, repeats: true)
}
Danke für den Vorschlag. Ich kann es für meine App verwenden. Jetzt kann ich nicht herausfinden, was mit dem folgenden einfachen Flip-Flop-Timer-Code falsch ist. Wenn ich es ausführe, habe ich Thread 1: Signal SIGABRT zum Absturz gebracht (es ist nicht der Fall, bei dem die Zuweisung versehentlich erfolgt ist). Wenn ich Timer 2 entferne. Die Pause funktioniert gut (ich habe mein Beispiel bearbeitet). Vielen Dank! –
etwas anderes habe ich gerade bemerkt, in Ihrem Timer2, haben Sie den Selektor auf 'Selector ((" increaseTimer ") gesetzt)', während es sollte '#selector (ViewController.increaseTimer)' –
Ich habe dies versucht. Fehlermeldung: "Typ ViewController hat kein Mitglied 'increaseTimer'" –