Innerhalb eines Buttons möchte ich einen Timer auf dem Screen live ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Innerhalb eines Buttons möchte ich einen Timer auf dem Screen live ausgeben

    Hallo zusammen,

    ich denke ich habe einen Denkfehler. ;(

    Ich habe eine Button Funktion und diese stoppt natürlich meinen kompletten Programmablauf Innerhalb dieser Funktion befindet sich ein Zähler der Zählt wie oft der Button gedrückt wurde. Außerhalb
    soll ein Sekundenzähler die Sekunden live in einem Label ausgeben. Wie bekomme ich das hin so das ausserhalb der Button Funktion auf dem Screen ein Timer also eine Zähler live in einem Label angezeigt werden kann.

    Jedesmal wenn ich den Button drücke wird zwar der Wert für den Timer für diesen Moment neu angezeigt er läuft aber nicht live mit.

    Grüße,
    Uwe
  • Hallo zusammen,

    ich habe kurz eine kleine Beispiel Swift geschrieben um zu zeigen wo mein Problem ist.

    Also, es soll der Minuten und Sekunden Zähler in dem Label live angezeigt werden so das die Sekunden laufend gesehen werden. Im Moment gibt er einmalig beim Starten den Wert an, danach wird keine Veränderung angezeigt.

    Höchstwahrscheinlich sagt ihr, oh Gott ist ja logisch das geht so nicht. Sorry, bin absoluter Einsteiger.

    Bitte um Hilfe!

    Grüße,
    Uwe

    Quellcode

    1. import UIKit
    2. class ViewController: UIViewController {
    3. var zaehler = 0
    4. @IBOutlet weak var TimerAnzeige: UILabel!
    5. @IBAction func ausloeserZaehler(_ sender: Any) {
    6. self.zaehler+=1
    7. print(zaehler)
    8. }
    9. override func viewDidLoad() {
    10. super.viewDidLoad()
    11. // Do any additional setup after loading the view, typically from a nib.
    12. let lueften = Date()
    13. let calendar = Calendar.current
    14. let components = calendar.dateComponents([.minute, .second], from: lueften)
    15. if let minute = components.minute, let second = components.second{
    16. print(minute, second)
    17. let anzeige = "\(minute):\(second)"
    18. }
    19. }
    Alles anzeigen