WWDC22 SALE: Save 50% on all my Swift books and bundles! >>

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.


Hacking with Swift is sponsored by Fernando Olivares

SPONSORED Fernando's book will guide you in fixing bugs in three real, open-source, downloadable apps from the App Store. Learn applied programming fundamentals by refactoring real code from published apps. Hacking with Swift readers get a $10 discount!

Read the book

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

Reply to this topic…

You need to create an account or log in to reply.

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.