一尘不染

如何在SwiftUI中使用计时器更新文本

swift

我现在正在查看文本,我想每秒使用一次警报来更新该文本。

这是我完成的代码。

struct CountDownView : View {
    var body: some View {       
        VStack{
            Text("Update text with timer").lineLimit(nil).padding(20)

            }.navigationBarTitle(Text("WWDC"), displayMode:.automatic)
    }
}

阅读 688

收藏
2020-07-07

共1个答案

一尘不染

我已经设法使用警报来更新文本。

我已声明日期,State因此只要使用警报文本更改日期,日期也会更新。

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()
            }
    }
}
2020-07-07