Настройка просмотра: - Просмотр содержимого с таймером, который срабатывает каждую секунду для обновления метки - Модальный режим с таймером, который срабатывает каждую секунду для обновления другой метки (в модале)
Вопрос: Почему таймер в модале никогда не работает? Это ограничение SwiftUI? Это ограничение издателей? Я не понимаю, почему это не сработает.
Пожалуйста, посмотрите код ниже
import SwiftUI
struct ContentView: View {
@State private var isShowingCounter = false
@State var counter = 0
private let timer = Timer.publish(every: 1, on: .main, in: .default).autoconnect()
var body: some View {
VStack {
Text("count: \(counter)")
.onReceive(timer) { _ in
self.counter += 1
}
Button(action: {
self.isShowingCounter.toggle()
}) {
Text("Test View counter")
}
}
.sheet(isPresented: $isShowingCounter) { TestView() }
}
}
struct TestView: View {
@State var count = 0
private let timer = Timer.publish(every: 1, on: .main, in: .default).autoconnect()
var body: some View {
Text("\(count)")
.onReceive(timer) { _ in
self.count += 1
}
}
}