I am writing my first WatchOS app. I have two timers, one to update a text showing UTC time, declared like this:
@State private var zuluTimeStr: String = ""
private let timer1 = Timer.publish(every: 1, on: .main, in: .common).autoconnect()
.
.
.
var body: some View {
Text(text: zuluTimeStr)
.onReceive(timer1, perform: { _ in
self.zuluTimeStr = getTimeString()
})
}
And another to invalidate certain values if they are too old, declared like this:
private var timer2: Timer?
.
.
.
timer2 = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: { _ in
self.invalidateOldData()
})
First timer is declared in a subview, and second timer is declared in an ObservableObject descendant.
However, timer1 stops firing when timer2 is scheduled. It seems like I am either limited to one timer in WatchOS, or timer2 is somehow overriding timer1. Any thoughts?