Reputation: 51
I'm really struggling to get a simple SwiftUI text view to update when using @State. Code below. Any help appreciated (I'm sure it's something daft but I'm new to all this - can't even copy/paste the code snippet correctly). Thank you.
struct ContentView : View {
@State var tappedToggle: Bool = false
var body: some View {
Text("First: \(printRandomFactoid())").multilineTextAlignment(.center)
.onTapGesture {
self.tappedToggle.toggle()
Text("Latest... \r \(printRandomFactoid())").multilineTextAlignment(.center)
}
}
}
Upvotes: 0
Views: 375
Reputation: 258345
View should never be inside action closure... The intention probably was
struct ContentView : View {
@State var tappedToggle: Bool = false
var body: some View {
Text(tappedToggle ? "First: \(printRandomFactoid())" : "Latest... \r \(printRandomFactoid())")
.multilineTextAlignment(.center)
.onTapGesture {
self.tappedToggle.toggle()
}
}
}
Upvotes: 2