MV Design Pattern in iOS Build SwiftUI Apps Apples Way

Harness the power of SwiftUI framework and start building amazing apps!
MV Design Pattern in iOS Build SwiftUI Apps Apples Way
File Size :
2.87 GB
Total length :
6h 56m



Mohammad Azam


Last update

Last updated 9/2022



MV Design Pattern in iOS Build SwiftUI Apps Apples Way

What you’ll learn

Writing SwiftUI apps using MV pattern
Learn to build SwiftUI apps based on Apple’s recommendations
Learn how MVVM might be adding unnecessary code to your SwiftUI apps
Learn to write end-to-end tests for your application
Apply MV pattern for client/server applications
Learn to build Core Data apps and @FetchRequest and @Environment property wrappers

MV Design Pattern in iOS Build SwiftUI Apps Apples Way


Knowledge of SwiftUI framework is required
Knowledge of Swift language is required
Understanding of MVVM pattern is recommended


MVVM is the default pattern when building SwiftUI applications. I have been personally using the MVVM pattern since the inception of SwiftUI in 2019.After building hundreds of demos and prototypes, I started to notice issues with using MVVM patterns for SwiftUI applications. These issues resulted in adding needless complexity and constantly fighting the SwiftUI framework.In this course, I will explain a different pattern for building SwiftUI apps. This pattern is used by Apple to build their SwiftUI applications. The pattern is called the MV pattern, where M stands for Model and V is for View.Let’s check out the contents of the course:Understanding MV PatternIn this section you will learn the thinking behind the MV pattern and how it is different from the MVVM pattern. We will compare SwiftUI with WPF and conclude that in SwiftUI, the View is also the View Model.ValidationIn this section, you will learn how to perform validation using MV pattern. These validation techniques are inspired from the React framework. You will learn how to perform simple validation, inline validation and even validation summary.Coffee Order – [Project Time]In this section, you will be building a complete Coffee Ordering application integrated with a JSON API. You will learn how to create an aggregate root model and webservice layer, which allows the app to consume and present data. You will also learn how to write end-to-end tests for your application.Budget App – [Project Time]In this section, you will learn how to build a SwiftUI app using MV pattern, which uses Core Data to persist information on the device. You will learn to use property wrappers including @FetchRequest and @Environment, which makes working with Core Data a breeze.Who is this course for?Developers who wants to learn Apple’s way of building SwiftUI applicationsDevelopers who wants to stop fighting the SwiftUI framework and start building iOS appsDevelopers who wants to start using all the power and flexibility provided by the SwiftUI frameworkDevelopers who wants to write less code to achieve moreThis course will serve as an eye opener to many developers and will provide a lot of information on a different and easier way for building SwiftUI applications.After this course, you will be ready to start building your apps using the MV pattern.Let’s get started.


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Exercise Files

Lecture 3 Prerequisites

Section 2: Understanding MV Pattern

Lecture 4 Understanding MVVM Pattern

Lecture 5 MVVM in WPF vs SwiftUI

Lecture 6 Limitations of MVVM in SwiftUI

Lecture 7 Resources

Lecture 8 Consuming JSON and Displaying Products on Screen Using MVVM

Lecture 9 Consuming JSON and Displaying Products on Screen Using MV Pattern

Lecture 10 Apple Sample Apps and Documentation

Section 3: Validation

Lecture 11 Simple Form Validation

Lecture 12 Form Validation with Error Messages and LoginFormError

Lecture 13 Form Validation with View Model

Lecture 14 Form Validation with Summary Messages

Section 4: Coffee Order App – Getting Started and Displaying Orders

Lecture 15 What we will be building?

Lecture 16 Understanding the App Architecture

Lecture 17 Tour of the Server

Lecture 18 Resource: Server Endpoints

Lecture 19 Implementing Webservice and Order Model

Lecture 20 Implementing CoffeeModel Aggregate Root

Lecture 21 Displaying All Coffee Orders

Section 5: Coffee Order App – End to End Testing and Adding New Coffee Orders

Lecture 22 Configuring App Environment for Testing

Lecture 23 Writing End-to-End Testing for No Orders Found

Lecture 24 Implementing Webservice to Place an Order

Lecture 25 Implementing Add New Order View

Lecture 26 Validating New Order

Lecture 27 Placing an Order

Lecture 28 Writing End-to-End Test for Placing an Order

Section 6: Coffee Order App – Updating and Deleting Orders

Lecture 29 Implementing Delete Order

Lecture 30 Writing End-to-End Test for Deleting an Order

Lecture 31 Implementing Update Order Webservice and CoffeeModel

Lecture 32 Implementing OrderDetailView

Lecture 33 Implementing Update Order User Interface

Lecture 34 Writing End-to-End Test for Updating an Existing Order

Section 7: Budget App – Setting Up Core Data and Adding Budget Categories

Lecture 35 What we will be building?

Lecture 36 Creating Core Data Models

Lecture 37 Setting Up the Core Data Manager

Lecture 38 Adding a New Budget Category

Lecture 39 Displaying Budget Categories

Lecture 40 Implementing BudgetListView

Lecture 41 Deleting a Budget Category

Lecture 42 Preview, Dismiss and Refactoring

Section 8: Budget App – Adding Transactions

Lecture 43 Creating the Transaction Core Data Model

Lecture 44 Implementing BudgetDetailView

Lecture 45 Saving a Transaction

Lecture 46 Displaying All Transactions

Lecture 47 Displaying Remaining and Overspending Amounts

Section 9: Budget App – Editing Budget Categories and Deleting Transactions

Lecture 48 Deleting a Transaction

Lecture 49 Resources

Lecture 50 Implementing Sheet Action

Lecture 51 Updating the Budget Category

Lecture 52 Refactoring and Completing the App

Section 10: Conclusion

Lecture 53 Next Steps

Lecture 54 Resources

Lecture 55 Bonus Lecture

Developers who wants to learn how to build SwiftUI apps using MV pattern,Developers who wants to learn how to Apple constructs their SwiftUI applications,Developers who wants to stop fighting the SwiftUI framework and start being productive

Course Information:

Udemy | English | 6h 56m | 2.87 GB
Created by: Mohammad Azam

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top