AsyncAwait and Actors Concurrency in Swift

Learn async/await, actors, async-let, task groups, unstructured concurrency, detached tasks and more!
AsyncAwait and Actors Concurrency in Swift
File Size :
1.84 GB
Total length :
5h 1m



Mohammad Azam


Last update




AsyncAwait and Actors Concurrency in Swift

What you’ll learn

New async/await features of Swift language
Concurrency in Swift Using Actors
Exposing callback functions using continuation API
Running concurrent tasks using async-let and Task Groups
Writing modern asynchronous syntax using async/await

AsyncAwait and Actors Concurrency in Swift


This is not a beginner course and does not cover the fundamentals of iOS or Swift development
Existing knowledge of Swift language is recommended
Knowledge of SwiftUI is recommended
Xcode 13 or above
macOS Big Sur or above


Concurrency allows multiple tasks to run at the same time. Understanding concurrency is an important part of iOS app development. When used correctly, it can create a pleasant user experience and can even avoid crashing your app. In this course, you will learn about the new concurrency features available in Swift using Async/Await and Actors.Async/Await and Actors are the future direction of concurrency in Swift and this course will teach you the concepts and practical uses of these modern features. After completing this course, you will be comfortable to add these new features in your applications.Requirements:Xcode 13 or aboveKnowledge of Swift language is recommendedmacOS Catalina or aboveKnowledge of SwiftUI is recommendedPassion for development and an open mindThis is not a beginners courseLet’s check out the contents discussed in the course:Understanding Concurrent ProgrammingGetting Started with Async & Await (Dates App)Understanding MVVM Design PatternDates App Using MVVMExposing your Functions as Async/Await Using ContinuationProject: News AppUnderstanding Structured Concurrency in SwiftProject: Random Images and QuotesAsyncSequenceActorsWho this course if for:Students who want to learn about new concurrency features in Swift language.Anyone interested in learning modern concurrency programming techniques using Swift.Students who want to learn the new Async/Await and Actor features.Don’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.


Section 1: Introduction

Lecture 1 Credit

Lecture 2 Introduction

Lecture 3 Prerequisites

Lecture 4 Exercise Files

Lecture 5 IMPORTANT – Future Changes to the Concurrency API

Section 2: Understanding Concurrent Programming in iOS

Lecture 6 What is Concurrency?

Lecture 7 Grand Central Dispatch

Lecture 8 Resources

Lecture 9 Resources

Section 3: Getting Started with Async and Await

Lecture 10 Module Introduction

Lecture 11 Tour of the Starter Project

Lecture 12 Implementing getDate Async Function

Lecture 13 Calling getDate Function Using Await

Lecture 14 Displaying Dates on the Screen Using Task Modifier

Lecture 15 Refresh Dates by Calling Async Function from Inside Synchronous Code

Section 4: Understanding MVVM Design Pattern

Lecture 16 What are Design Patterns?

Lecture 17 What is MVVM?

Lecture 18 Why MVVM?

Lecture 19 MVVM Architecture and Web APIs

Lecture 20 Resources

Section 5: Dates App – MVVM

Lecture 21 Module Introduction

Lecture 22 Starter Project

Lecture 23 Implementing the Webservice

Lecture 24 Creating View Models

Lecture 25 Displaying Dates on Screen

Section 6: Exposing your Functions as Async/Await Using Continuation

Lecture 26 Module Introduction

Lecture 27 What is Continuation?

Lecture 28 Implementing a Get All Posts Callback Function Using Result Type

Lecture 29 Converting Callback Function to Async/Await Function Using Continuation

Section 7: Project Time: News App

Lecture 30 Module Introduction

Lecture 31 Tour of the News App

Lecture 32 Converting fetchSources to Async and Await

Lecture 33 Using Continuation to Create Custom Async/Await Methods

Lecture 34 Replacing Dispatch with MainActor

Lecture 35 Performing Asynchronous Action from Synchronous Code

Section 8: Understanding Structured Concurrency in Swift

Lecture 36 Module Introduction

Lecture 37 Scenario: Calculating APR Using Credit Score

Lecture 38 Async-let Tasks

Lecture 39 Async-let in a Loop

Lecture 40 Cancelling a Task

Lecture 41 Group Tasks

Lecture 42 Unstructured Tasks

Lecture 43 Detached Tasks

Lecture 44 Resources

Section 9: Project Time – Random Images and Random Quotes

Lecture 45 Module Introduction

Lecture 46 Downloading Random Images and Quotes

Lecture 47 Implementing the View Models

Lecture 48 Displaying Random Images and Quotes on Screen

Lecture 49 Implementing Dynamic Concurrency Using TaskGroup

Lecture 50 Progressive Downloads and Displaying on the Screen Instantly

Lecture 51 Adding Unstructured Task Using Task

Section 10: AsyncSequence

Lecture 52 Module Introduction

Lecture 53 Loop Over Sequence Without AsyncSequence

Lecture 54 Loop Over AsyncSequence Using Await

Lecture 55 Built-In AsyncSequences in iOS Framework

Lecture 56 Adapting Existing Callbacks or Handlers to AsyncSequence Using AsyncStream

Section 11: Concurrent Programming: Problem and Solutions

Lecture 57 Module Introduction

Lecture 58 Problem: Bank Account Withdraw

Lecture 59 Solution 1: Bank Account Withdraw Using Serial Queue

Lecture 60 Solution 2: Bank Account Withdraw Using Locks

Lecture 61 Resource

Section 12: What are Actors?

Lecture 62 Module Introduction

Lecture 63 Understanding Actors

Lecture 64 Bank Account Example Using Actors

Lecture 65 Actors Example: Bank Account Transfer Funds

Lecture 66 Understanding nonisolated Keyword in Swift

Lecture 67 MainActor

Section 13: Conclusion

Lecture 68 Next Steps

Lecture 69 Resources

Lecture 70 Bonus Lecture

Students who wants to learn the new async/await syntax,Students who wants to learn concurrency features using Swift Actors,Students who wants to write modern concurrent code using async-let, task groups etc,Students who wants to convert their callback functions to async/await syntax

Course Information:

Udemy | English | 5h 1m | 1.84 GB
Created by: Mohammad Azam

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

New Courses

Scroll to Top