Swift for Intermediate and Advanced iOS Developers

Learn enums, optionals, initializers, async and await, properties, generics, extensions and much more
Swift for Intermediate and Advanced iOS Developers
File Size :
2.12 GB
Total length :
7h 16m



Mohammad Azam


Last update

Last updated 10/2022



Swift for Intermediate and Advanced iOS Developers

What you’ll learn

Intermediate and advanced techniques in Swift language
Writing clean and maintainable code
Concurrency using async and await

Swift for Intermediate and Advanced iOS Developers


Xcode 12 or above
macOS Catalina or above
Familiarity with the Swift language
Passion for development and an open mind


Swift language was introduced in 2014 and now it has become one of the most loved programming languages in the world. Swift is the force behind creating modern iOS, macOS, iPadOS, tvOS and watchOS applications. Almost all the new apps for the Apple platform are implemented in Swift language. Since the release of Swift, it has gained a lot of new amazing features.In this course, you will take a deep dive into Swift features and learn the modern way of writing apps using Swift language. The techniques discussed in this course are being used by experienced developers in the industry. If you are a junior iOS developer and want to take your skills to the next level then this course is for you.Requirements:Xcode 12 or aboveBeginner knowledge of Swift language is recommendedmacOS Catalina or abovePassion for development and an open mindLet’s check out the content of the course.EnumsPropertiesOptionalsInitializersError HandlingGenericsProtocol Oriented ProgrammingIterators, Sequences and CollectionsAsynchronous Error HandlingProtocol ExtensionsAsync and AwaitWho this course if for:Students who wants to increase their knowledge of Swift languageAnyone interested in learning modern programming techniques using SwiftStudents who wants to learn the new async/await featureDon’t take my word for it, take a look at some of the amazing reviews for my other courses.Great course, Azam skips the basic stuff yet does CLEARLY explain the important concepts that most courses miss or fail to provide clear details about. It looks like he keeps the course up to date as well, either by adding updated lessons or notes explaining changes in the swift framework in the notes.This course was above my expectations indeed. Very valuable, and thank you Azam.The last 6 months I’ve followed many courses, but this Section by far has helped my understanding of ObseravableObject, @State etc.Im sure I’m going to run into some problems putting this into practice, but at least I have this course to come back to reference.As every course by Azam is awesome, full of information and Great explanations and examples, simply amazing. Azam is such a Great Teacher. If you really want to learn and make good use of your money, he is the right Choice.Enjoy!


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Credit

Lecture 3 Prerequisites

Lecture 4 Exercise Files

Section 2: Understanding Swift Collections

Lecture 5 Iterating

Lecture 6 filter

Lecture 7 forEach and enumerated

Lecture 8 Lazy Iteration

Lecture 9 reduce

Lecture 10 reduce into

Lecture 11 zip

Section 3: Functions

Lecture 12 In-Out Functions

Lecture 13 Nested Functions

Lecture 14 Functions as Variables, Passing Functions to Functions

Section 4: Enumerations

Lecture 15 Replacing Structs with Enums

Lecture 16 Hiding Type Using Enums

Lecture 17 Enums Example 1 – Airline Ticket

Lecture 18 Enums Example 2 – Teacher and Student

Lecture 19 Enum and Raw Values

Section 5: Properties

Lecture 20 Lazy Stored Properties

Lecture 21 Computed Properties

Lecture 22 Property Observers

Section 6: Initializers

Lecture 23 Getting Started with Initializers

Lecture 24 Convenience Initializers

Lecture 25 Subclassing

Lecture 26 Required Initializers

Section 7: Optionals

Lecture 27 Unwrapping Techniques

Lecture 28 Understanding if-let Variable Unwrapping

Lecture 29 Returning Optional Strings

Lecture 30 Chaining Optionals

Lecture 31 Optionals and Booleans

Lecture 32 Force Unwrapping

Section 8: Error Handling

Lecture 33 Types of Errors

Lecture 34 Example 1 – Throwing Errors

Lecture 35 Example 2 – Throwing Errors

Lecture 36 Handling Errors Using Do-Catch

Lecture 37 User Input as a Type

Lecture 38 try?, try! and Returning Optionals

Section 9: Async and Await

Lecture 39 Prerequisites

Lecture 40 What is Async/Await?

Lecture 41 Tour of the News App

Lecture 42 Converting fetchSources to Async and Await

Lecture 43 Using Continuation to Create Custom Async/Await Methods

Lecture 44 Replacing Dispatch with MainActor

Lecture 45 Performing Asynchronous Action from Synchronous Code

Section 10: Protocol Oriented Design

Lecture 46 Implementing Protocols – Airline Ticket

Lecture 47 Generics for Protocols

Lecture 48 Example 1 – Protocol Extensions (Parser)

Lecture 49 Example 2 – Protocol Extensions (BankAccount)

Lecture 50 Example 3 – Multiple Extensions (BankAccount)

Lecture 51 Understanding Inheritance in Protocols

Lecture 52 Protocol Composition

Section 11: Generics

Lecture 53 Why do we need Generics?

Lecture 54 Implementing a Generics Function

Lecture 55 Example 1 – Constraints in Generics (findIndex)

Lecture 56 Example 2 – Constraints in Generics

Lecture 57 Equatable and Comparable Protocols

Lecture 58 Creating a Generic Type

Section 12: Handling Error for Async Architecture

Lecture 59 Before Result Type – Using Success and Failure Callbacks

Lecture 60 Using Result Type

Lecture 61 Multiple Errors Inside of Result

Lecture 62 Impossible Failure and Result

Section 13: Design Patterns in Swift

Lecture 63 Dependency Injection

Lecture 64 Conditional Conformance

Lecture 65 Type Erasers in Swift

Section 14: Conclusion

Lecture 66 Next Steps

Lecture 67 Bonus Lecture

Beginner developers who wants to climb up the ladder to intermediate and advanced level,Developers passionate about writing clean and maintainable code,Developers interested in learning about modern techniques in Swift language

Course Information:

Udemy | English | 7h 16m | 2.12 GB
Created by: Mohammad Azam

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top