How to update text using timer in SwiftUI

i have managed to update text using alert.

i have declared date as State so whenever date is changed using alert text will also get updated.

struct CurrentDateView : View {
    @State var newDate = Date()

    let timer = Timer.publish(every: 1, on: .current, in: .common).autoconnect()

    var body: some View {
        Text("\(newDate)")
            .onReceive(timer) {
                self.newDate = Date()
            }
    }
}

Using Combine:

struct CurrentDateView : View {
    @State var now = Date()

    let timer = Timer.publish(every: 1, on: .current, in: .common).autoconnect()

    var body: some View {
        Text("\(now)")
            .onReceive(timer) {
                self.now = Date()
            }
    }
}

the original sample was at:

https://www.hackingwithswift.com/quick-start/swiftui/how-to-use-a-timer-with-swiftui

I do use this approach to update from one of my calls periodically...

see also at:

https://developer.apple.com/documentation/combine/replacing-foundation-timers-with-timer-publishers

struct ContentView: View {
@State var msg = ""

var body: some View {

    let timer = Timer.publish(every: 1, on: .current, in: .common).autoconnect()

    Text(msg)
        .onReceive(timer) { input in
            msg = MyManager.shared.ifo ?? "not yet received"
        }
}

}

I do I haver to call network in other ways, but here I simply call periodically some of my managers.

To stop timer (as in link from hackingSwift..) You can use:

            self.timer.upstream.connect().cancel()