UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Structs and Property Wrappers

Forums > SwiftUI

One thing that I still have a hard time processing is the seeming contradiction that Views are structs, but to get around the normal restriction of a struct being immutable, you can use a property wrapper like @State to allow you to write to that property. I read this article about structs: https://www.hackingwithswift.com/books/ios-swiftui/why-does-swiftui-use-structs-for-views

But it doesn't address this point of using property wrappers to get around the immutable state of structs. Is there another article that goes into this in more detail?



Thanks, this paragraph helps me understand what's going on:

When we put @State before a property, we effectively move its storage out from our struct and into shared storage managed by SwiftUI. This means SwiftUI can destroy and recreate our struct whenever needed (and this can happen a lot!), without losing the state it was storing.


BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

Sponsor Hacking with Swift and reach the world's largest Swift community!

Archived topic

This topic has been closed due to inactivity, so you can't reply. Please create a new topic if you need to.

All interactions here are governed by our code of conduct.

Unknown user

You are not logged in

Log in or create account

Link copied to your pasteboard.