Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Async/Await Fundamentals - A Beginner's Guide
Welcome
Prerequisites (1:24)
IMPORTANT - Future Changes to the Concurrency API (1:34)
Private Slack Channel & Newsletter
Quarterly Live Q&A Sessions
Where did you hear about this course?
Refer a friend program
Understanding Concurrent Programming in iOS
What is Concurrency? (6:18)
Grand Central Dispatch (4:51)
Resources
Getting Started with Async and Await
Module Introduction (0:45)
Code for the Starter Project
Implementing getDate Async Function (5:18)
Calling getDate Function Using Await (3:46)
Displaying Dates on the Screen Using Task Modifier (5:02)
Refresh Dates by Calling Async Function from Inside Synchronous Code (2:36)
Understanding MVVM Design Pattern
What are Design Patterns? (1:12)
What is MVVM? (2:41)
Why MVVM? (2:32)
MVVM Architecture and Web APIs (1:42)
Resources
Dates App - MVVM
Module Introduction (1:03)
Starter Project (0:37)
Implementing the Webservice (2:11)
Creating View Models (7:12)
Displaying Dates on Screen (5:06)
Exposing your Functions as Async/Await Using Continuation
Module Introduction (0:51)
What is Continuation? (1:44)
Implementing a Get All Posts Callback Function Using Result Type (6:00)
Converting Callback Function to Async/Await Function Using Continuation (7:01)
Project Time: News App
Module Introduction (1:16)
Tour of the News App (5:14)
Converting fetchSources to Async and Await (12:22)
Using Continuation to Create Custom Async/Await Methods (10:21)
Replacing Dispatch with MainActor (18:49)
Performing Asynchronous Action from Synchronous Code (2:55)
Understanding Structured Concurrency in Swift
Module Introduction (1:05)
Scenario: Calculating APR Using Credit Score (7:10)
Async-let Tasks (7:18)
Async-let in a Loop (4:37)
Cancelling a Task (4:06)
Group Tasks (11:13)
Unstructured Tasks (2:34)
Detached Tasks (3:27)
Resources
Project Time - Random Images and Random Quotes
Module Introduction (1:57)
Downloading Random Images and Quotes (14:36)
Implementing the View Models (5:40)
Displaying Random Images and Quotes on Screen (4:13)
Implementing Dynamic Concurrency Using TaskGroup (6:43)
Progressive Downloads and Displaying on the Screen Instantly (7:53)
Adding Unstructured Task Using Task (4:28)
AsyncSequence
Module Introduction (2:34)
Loop Over Sequence Without AsyncSequence (7:23)
Loop Over AsyncSequence Using Await (3:07)
Built-In AsyncSequences in iOS Framework (6:53)
Adapting Existing Callbacks or Handlers to AsyncSequence Using AsyncStream (9:42)
Concurrent Programming: Problem and Solutions
Module Introduction (1:04)
Problem: Bank Account Withdraw (8:56)
Solution 1: Bank Account Withdraw Using Serial Queue (3:05)
Solution 2: Bank Account Withdraw Using Locks (3:29)
Resources
What are Actors?
Module Introduction (0:45)
Understanding Actors (8:13)
Bank Account Example Using Actors (9:24)
Actors Example: Bank Account Transfer Funds (8:43)
Understanding nonisolated Keyword in Swift (4:51)
Main Actor (18:49)
Conclusion
Next Steps (0:40)
Earn with us
Refer a friend
Teach online with
Why MVVM?
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock