Ir al contenido
Skip

Timer

Esta página aún no está disponible en tu idioma.

Skip support for Swift Timer.

The following example screens and source code is from SkipUI’s Showcase sample app TimerPlayground.swift

import SwiftUI
struct TimerPlayground: View {
@State var count = 0
var body: some View {
VStack(spacing: 16) {
TimerPlaygroundTimerView(message: "Tap count: \(count)")
Button("Tap to recompose in 1 sec") {
DispatchQueue.main.asyncAfter(wallDeadline: .now() + 1.0) {
count += 1
}
}
}
.padding()
.toolbar {
PlaygroundSourceLink(file: "TimerPlayground.swift")
}
}
}
private struct TimerPlaygroundTimerView: View {
let message: String
let timer = Timer.publish(every: 1.0, on: .main, in: .default).autoconnect()
@State var timerDate: Date?
var body: some View {
VStack {
Text(message)
Text("Timer date: \(timerDate == nil ? "nil" : timerDate!.description)")
}
.font(.largeTitle)
.onReceive(timer) { date in
timerDate = date
}
}
}