From the course: Complete Guide to SwiftUI
Unlock this course with a free trial
Join today to access over 24,600 courses taught by industry experts.
MVC vs. MVVM
- [Instructor] If you've worked with UI Kit and Xcode, you're familiar with the MVC pattern. If you're not, let me explain. UI Kit and much of mobile device programming uses the MVC pattern to organize your code into three functions. The Model is the code that handles your data. The View shows and accepts inputs from the user. The Controller handles the interactions between the two and where you as a developer do most of the front end work. UI kit tends to combine the View and Controller portion into a View Controller class where you either write the View programmatically or use a storyboard. For simplicity, I'm going to take them apart into a simple toggle button example. The button would be the View, and we'd have some Boolean value, which we'd use as our model. The Controller would be some code between the two that when a button is pressed would change the value and the color of the button. In Swift UI we use a variation of MVVM where there's no Controller, just Models and Views…
Download courses and learn on the go
Watch courses on your mobile device without an internet connection. Download courses using your iOS or Android LinkedIn Learning app.
Contents
-
-
(Locked)
Embed a stack view6m 29s
-
(Locked)
Text views3m 41s
-
(Locked)
Image views with SF Symbols5m 22s
-
(Locked)
Iteration with ForEach5m 13s
-
(Locked)
Images and assets4m 56s
-
(Locked)
Labels2m 22s
-
Add view2m 49s
-
(Locked)
Challenge: Add views26s
-
(Locked)
Solution: Add views2m 33s
-
(Locked)
Extract subviews8m 4s
-
(Locked)
Subviews with parameters6m 37s
-
(Locked)
Challenge: Ratings view44s
-
(Locked)
Solution: Ratings view3m 55s
-
(Locked)
-
-
(Locked)
Presenting views2m 19s
-
(Locked)
Space modifiers2m 54s
-
(Locked)
Shape modifiers3m 54s
-
(Locked)
Text modifiers8m
-
(Locked)
Color modifiers6m 4s
-
(Locked)
Basic backgrounds8m 29s
-
(Locked)
Materials and shadows7m 17s
-
Scale modifiers4m 42s
-
(Locked)
Size modifiers5m 25s
-
(Locked)
Clean up joined views6m 9s
-
(Locked)
Challenge: Clean up OrderView1m 28s
-
(Locked)
Solution: Clean up OrderView8m 36s
-
(Locked)
-
-
(Locked)
MVC vs. MVVM4m 19s
-
(Locked)
State variables and buttons3m 57s
-
(Locked)
Challenge: Add a button45s
-
(Locked)
Solution: Add a button3m 50s
-
(Locked)
Use Binding variables10m 10s
-
(Locked)
The Identifiable protocol5m 13s
-
(Locked)
Add a model to root views6m 47s
-
Populating collections with List4m 45s
-
(Locked)
Selection and binding variables6m 29s
-
(Locked)
-
-
(Locked)
Toggles and steppers6m 8s
-
(Locked)
Pickers6m 10s
-
(Locked)
Moving data in pickers5m 54s
-
Text input7m 1s
-
(Locked)
Lazy grids6m 37s
-
(Locked)
Tap gestures3m 1s
-
(Locked)
Reacting to changes5m 59s
-
(Locked)
Challenge: Favorites grid1m 46s
-
(Locked)
Solution: Favorites grid8m 55s
-
(Locked)
Challenge: Add a grid view to the app40s
-
(Locked)
Solution: Add a grid view to the app6m 10s
-
(Locked)
-
-
(Locked)
SF Symbols app3m 59s
-
(Locked)
SF Symbols variants4m 53s
-
(Locked)
SF Symbols in color: Monochrome and multicolor4m 2s
-
(Locked)
SF Symbols in color: Palette and hierarchical3m 28s
-
(Locked)
SF Symbols variable color3m 42s
-
(Locked)
SF Symbols animation, part 13m 44s
-
(Locked)
SF Symbols animation, part 23m 47s
-
(Locked)
Replace effects3m 56s
-
(Locked)
Challenge: Variants, modes, and effects55s
-
(Locked)
Solution: Variants, modes, and effects7m 4s
-
(Locked)
-
-
(Locked)
Navigation links3m 57s
-
(Locked)
Stack navigation in lists5m 58s
-
(Locked)
Deeper navigation stacks4m 47s
-
(Locked)
Create navigation paths4m 1s
-
(Locked)
Use navigation paths6m 7s
-
(Locked)
More navigation destinations4m 26s
-
Toolbars4m 15s
-
(Locked)
Navigation title5m 22s
-
(Locked)
List interaction2m 53s
-
(Locked)
-
-
(Locked)
Extensions5m 14s
-
(Locked)
Custom modifiers3m 53s
-
(Locked)
More modifiers2m 33s
-
(Locked)
Modifiers with parameters5m 13s
-
(Locked)
Shapes6m 11s
-
(Locked)
Modifiers with added views5m 19s
-
(Locked)
ViewBuilder3m
-
(Locked)
Conditional ViewBuilder3m 40s
-
(Locked)
Challenge: Make Home a back button29s
-
(Locked)
Solution: Make Home a back button5m 36s
-
(Locked)
-
-
(Locked)
Introducing the capstone project2m 55s
-
(Locked)
The model schema2m 10s
-
(Locked)
Add model to project1m 47s
-
(Locked)
The model implementation5m 2s
-
A dual key model6m 12s
-
(Locked)
Styles4m 38s
-
(Locked)
Code custom controls4m 38s
-
(Locked)
Ingredients view4m 36s
-
(Locked)
Add navigation3m 31s
-
(Locked)
Recipe view5m 33s
-
(Locked)
Add and edit recipes5m 8s
-
(Locked)
Testing6m 54s
-
(Locked)