Swift - Timer

Aus Wikizone
Wechseln zu: Navigation, Suche

Links

Swift - Snippets

Beispiele

import Foundation

// Setze den Timer auf 5 Minuten (in Sekunden)
let timerDuration: TimeInterval = 300

// Erstelle den Timer
let timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { timer in
    // Verringere die Dauer des Timers um 1 Sekunde
    timerDuration -= 1
    
    // Wenn der Timer abgelaufen ist, beende ihn
    if timerDuration <= 0 {
        timer.invalidate()
    }
    
    // Ansonsten, gib den verbleibenden Zeitraum aus
    else {
        print(timerDuration)
    }
}


import Foundation

class CountdownTimer {
  var counter = 300  // Startwert für den Zähler (300 Sekunden entspricht 5 Minuten)
  var timer: Timer?  // Der Timer selbst

  func start() {
    // Erstelle einen Timer, der jede Sekunde ausgelöst wird
    timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(updateCounter), userInfo: nil, repeats: true)
  }

  @objc func updateCounter() {
    counter -= 1  // Verringere den Zähler um 1
    if counter == 0 {
      timer?.invalidate()  // Stoppe den Timer, wenn der Zähler 0 erreicht hat
    }
  }
}

let countdownTimer = CountdownTimer()
countdownTimer.start()