Suggested approach: Start with the easiest answer, then work your way up: structs are used because they are much simpler and much more efficient than classes. Once you've nailed the basics, go on to discuss why this matters – SwiftUI is free to recreate your view structs whenever and as often as it wants, so performance needs to be good.
Estimated difficulty: Advanced
@Publishedproperty wrapper do?
Link copied to your pasteboard.