Lesson 1: Closures Reloaded
In this chapter we will revisit the concept of closures in Swift. We need to learn a few properties of closures that we bypassed in Swift Syntax. These are vital when dealing with GCD.
You will put you new knowledge of closures to test in several playgrounds. By the end of this lesson you will be able to drop things like, "Closures are first class types that capture their lexical environment" in casual conversations and impress fellow nerds. Even better: you will actually know what the heck you're talking about!
Lesson 2: Grand Central Dispatch
Here you meet our main antagonist: Apple's open source library Grand Central Dispatch.
GCD is an enormous library, so we will concentrate on its core features: how it allows you to send tasks to the background and (equally important) to the foreground.
When you finish this lesson you will have a sound knowledge of how and what you can send to the background and what must always run in the foreground.
Lesson 3: Sample App
Talk is cheap. Show me the code! -- Linus Torvalds.
In this chapter you will create a simple App that downloads huge images (the easiest way to block the UI). You will apply your newly acquired knowledge to send this network lengthy task to the background in 2 different ways.
By the end of this lesson you will know how to run closures in the background, design methods that take a completion closure and understand the code in the black box in the Networking course.