Do Not Layer UI Patterns

Apple told us in 2019 WWDC

It is 2022 and we are starting to see articles about using SwiftUI's natural pattern instead of MVVM or MVC. Wondering about this natural pattern? It was detailed in some of the WWDC talks in 2019 I think... go look...


Apple didn't give it a snappy name - so it didn't seem to stick in people's memory.


The slides show... User interaction and the Action->State->View loop. Then there is this code screen showing how the Environment holds state for the App.

If you allow it - SwiftUI - will handle the data dependencies for you. So, don't work against the framework by imposing another on top of the natural Swifty view model.

See: Data Flow Through SwiftUI - WWDC19


State management

So forget the older patterns such as MVC or MVVM - they are outdated by SwiftUI and it's awesome use of State property wrappers.

See: Swift Property Wrappers and UI Previews