J'ai du texte en vue maintenant, je veux mettre à jour ce texte en utilisant une alerte à chaque seconde.
Voici le code que j'ai fait.
struct CountDownView : View {
var body: some View {
VStack{
Text("Update text with timer").lineLimit(nil).padding(20)
}.navigationBarTitle(Text("WWDC"), displayMode:.automatic)
}
}
j'ai réussi à mettre à jour le texte en utilisant l'alerte.
j'ai déclaré la date comme State
donc chaque fois que la date est modifiée à l'aide du texte d'alerte sera également mis à jour.
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()
}
}
}
Utilisation de moissonneuse-batteuse:
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()
}
}
}