Final notes on Subviews and @Binding, Classes, and @ObservableObject
There are a few more things worth noticing while examining bindings: you cannot bind a UI element to more than just one variable, and that variable needs to be defined in just one place.
This means that we cannot bind the same element to several different variables, but just one. This avoids inconsistencies and ambiguities.
You are allowed to use the same @State
variable for many different views and purposes. For instance, we used a single variable to change the background color, alignment, font, and so on.
You can, of course, have as many state variables as you need, within a view for the many UI elements contained in that view.
You can (and should) group together conveniently many different state variables within the same struct
and use the attributes of struct
to bind to UI elements.
You will need to bind with $
in front of the struct name:
$structName.structAttribute
However, binding with ...