@ObservedObject

An example implementation could look like this:

Our Cars class uses the @Published wrapper, which means that changes are automatically sent whenever the brands property changes. Our ContentView gets these changes because we use the @ObservedObject property wrapper. Without this wrapper, the changes would be sent but ignored, because there is no trigger that would cause a reload of the View. Basically, we can say that @ObservedObject is our trigger to reload the View.

The following example can be tried with @ObservedObject as well as without. Both would work, but only @ObservedObject Property changes would be visible.

@ObservedObject

Einen weiteren Property Wrapper den uns SwiftUI bereitstellt ist der @ObservedObject Wrapper. Wir benutzen diesen Wrapper im Zusammenhang mit dem ObservableObject Protocol. Wir erinnern uns, dass wir das ObservableObject Protocol verwenden, wenn wir eine Klasse beobachten (observen) wollen. Wenn wir also den @ObservedObject Property Wrapper in einer View verwenden und sich das Objekt ändert, wird unsere View neu geladen und unser Object neu geladen.

Eine Beispiel Implementation könnte wie folgt aussehen:

Unsere Cars Klasse benutzt den Wrapper @Published. Dies bedeutet, dass automatisch Änderungen gesendet werden, sobald sich die Propertie brands ändert. Diese Änderungen bekommt unsere ContentView mit, da wir den @ObservedObject Property Wrapper verwenden. Ohne diesen Wrapper würden die Änderungen zwar gesendet werden, aber würden ignoriert werden, da es keinen Trigger gibt, der ein Reload der View auslösen würde.

Das folgende Beispiel kann mit @ObservedObject sowie ohne ausprobiert werden. Beides würde funktionieren, wobei nur bei der @ObservedObject Property Änderungen zu sehen sind.