Learning Time : 1h 40min
My Github : Flashzilla Source Code
Timer.TimerPublisher | Apple Developer Documentation
publish(every:tolerance:on:in:options:) | Apple Developer Documentation
onReceive()
modifier.upstream.connect().cancel()
)struct ContentView: View {
// @Published
let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect()
@State private var counter = 0
let timer2 = Timer.publish(every: 1, tolerance: 0.5,on: .main, in: .common).autoconnect()
@State private var counter2 = 0
var body: some View {
Text("Hello World! \\(counter)")
.onReceive(timer) { time in
if counter == 5 {
timer.upstream.connect().cancel()
} else {
print("The time is now \\(time)")
}
counter += 1
}
Text("Hello World! \\(counter2)")
.onReceive(timer2) { time in
if counter2 == 5 {
timer2.upstream.connect().cancel()
} else {
print("The timeis now \\(time)")
}
counter2 += 1
}
}
}