Overview
Apply the MVVM design pattern to structure SwiftUI apps., Use property wrappers like @State and @ObservedObject appropriately., Build a network service using async/await and retry logic., Parse RSS and Atom feeds into Swift model objects., Inject dependencies into view models using initializers., Manage app state using @Published and ObservableObject., Control view-local UI state with @State., Update views based on loading, success, or failure states., Handle concurrency and UI updates using @MainActor., Follow best practices for clean, scalable SwiftUI architecture.
Swift developers confused by how and when to use property wrappers., Learners frustrated by tutorials that explain syntax but not real-world usage., iOS developers who want to understand property wrappers through MVVM., Beginners struggling to connect @State, @ObservedObject, and @Published to actual app structure., Developers unsure why some property wrappers work in classes and others in structs., Students who’ve learned SwiftUI basics but feel lost when building full apps., Programmers tired of abstract explanations with no architectural context., Self-taught iOS learners looking to replace guesswork with clarity., Developers who want a practical project to make property wrappers finally “click.”, Anyone who believes understanding property wrappers requires understanding design patterns.
Familiarity with basic Swift syntax and data types., Understanding of functions, structs, and classes in Swift., Basic knowledge of SwiftUI views and layout., Experience using Xcode to build and run iOS apps., Comfort with using Swift optionals and control flow., Awareness of how to use property wrappers like @State., Ability to read and write simple asynchronous Swift code., Understanding of what MVVM stands for (basic level)., Some experience working with REST APIs or URLSession., Access to a Mac with Xcode 14 or later installed.
Most tutorials and courses explain SwiftUI property wrappers in isolation—@State, @Published, @ObservedObject—but never show you how they actually work together in a real app. That’s where this course comes in.
This course is designed for iOS developers who are confused by property wrappers and overwhelmed by vague explanations. We focus on understanding why each property wrapper exists and how it's intended to be used inside classes, structs, and most importantly, within the MVVM design pattern. You'll build a fully functional RSS feed app from scratch, learning how to structure your code with a clean separation of concerns and how to inject dependencies into your view models properly.
Along the way, you’ll implement:
@State, @Published, @ObservedObject, and @StateObject in context
A networking layer using async/await and retry logic
Feed parsing with FeedKit
A SwiftUI UI driven by real-time view model updates
Dependency injection for testability and clarity
Proper use of @MainActor to handle UI updates safely
This course is practical, focused, and built for self-taught developers and beginners who want to move beyond copy-paste coding and really understand how SwiftUI apps are built. If you’ve been struggling to make sense of property wrappers, this course will give you the clarity and confidence to use them correctly—and build better apps because of it.
Norbert Grover
Norbert Grover
iOS Developer
Welcome to my Udemy profile! I'm Norbert Grover, an experienced iOS Mobile Developer specializing in GraphQL implementation, with over a decade of expertise in crafting high-quality software solutions.
About Me
With a strong foundation in Swift, SwiftUI, UIKit, and Combine, I've led the integration of GraphQL into major iOS projects, achieving significant reductions in API response times and enhancing overall application performance. My commitment to Agile methodologies has consistently resulted in increased project efficiency and faster delivery times.
Professional Achievements
Achieved increase in user engagement through innovative app features and enhancements.
Enhanced app stability and user satisfaction by resolving critical bugs and improving performance.
Professional Experience
Randstad Technologies, Fidelity Investments: Designed intuitive UIs, employed Agile methodologies, and ensured scalable, testable code using MVVM and Combine.
Pragmatic Programming Content Creator: Mentored developers, established comprehensive course content, and enhanced coding proficiency in Swift and related technologies.
Klover: Maintained and implemented app features, optimized application performance, and led successful web services integration.
Akraya: Improved user experience and application performance through code optimization and REST API integration.
OPU Labs: Refactored non-maintainable codebases, integrated new features, and ensured clean, reusable code.
LOC-Eight App: Developed and optimized a parking location guidance app, enhancing user satisfaction and reducing app crash rates.
Team Gear App: Developed a youth sports organization management app, improving team efficiency and user retention.
Listen IN App: Developed a real estate MVP app, optimizing UI and image rendering, and enhancing user engagement.
Technical Skills
Languages: Objective-C, Swift
Frameworks: iOS Core OS, macOS, Cocoa, Cocoa Touch
Version Control: Git, GitHub, AWS CodeCommit
IDE: Xcode
Design Patterns: MVVM, MVC
Other: Networking & GCD, Persistence Data, Server-Side Web Development, Swift Data Structures & Algorithms, CocoaPods, Shell Scripting, Unit Testing, iOS App Store Submission, Apple SDK, Asynchronous Tasks, JSON Parsing, SwiftUI
Certifications
Project Management: Agile, Waterfall
iOS Mobile Developer Nanodegree: Udacity
I'm passionate about leveraging my expertise in iOS development and GraphQL to drive innovation and deliver high-quality, user-centric applications. Let's embark on a learning journey together and take your iOS development skills to the next level!
