0

It was confuse me what the difference between with or without $ symbol

class UserData: ObservableObject {
    @Published var name: String = "Light one"
    @Published var lightOn: Bool = true
    
}

struct ContentView: View {
    @EnvironmentObject var userData: UserData

    var body: some View {
        Toggle(isOn: $userData.lightOn, label: {
            Text(userData.name)
        }).padding()
    }
}

if Toggle(isOn: $userData.lightOn,... without $ it's error. I don't why?

if Text(userData.name) with $ it's also error. confuse me...

vadian
  • 274,689
  • 30
  • 353
  • 361
vanadic
  • 13
  • 3

1 Answers1

0

By using $ you are accessing the binding. So that the view can communicate back with the view you are parsing with.

YodagamaHeshan
  • 4,996
  • 2
  • 26
  • 36