Learning Time : 1h 40min

My Github : Flashzilla Source Code

My Note index link

day87.png

KeyWords

Triggering events repeatedly using a timer

Timer Publisher

Timer.TimerPublisher | Apple Developer Documentation

publish(every:tolerance:on:in:options:) | Apple Developer Documentation

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
            }
    }
}