About this Course

Many times your apps need to run lengthy operations in the background, like downloading data, but you don't want these operations to interfere with your UI.

Apple's GCD (long form: Grand Central Dispatch) framework allows you to create asynchronous apps for iOS, ensuring smooth a smooth user experience in situations like the one mentioned above.

Course Cost
Approx. 2 weeks
Skill Level
Included in Course
  • Rich Learning Content

  • Interactive Quizzes

  • Taught by Industry Pros

  • Self-Paced Learning

  • Student Support Community

Join the Path to Greatness

This free course is your first step towards a new career with the Become an iOS Developer Nanodegree Program.

Free Course

Grand Central Dispatch (GCD)

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps

What You Will Learn

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.

Prerequisites and Requirements

To be successful in this course, you should be comfortable programming in Swift, and understand closures. You can learn these skills in our Swift Syntax course.

Familiarity with The Hitchhiker's Guide to the Galaxy and The Matrix are also recommended in order to understand the jokes in this course.

See the Technology Requirements for using Udacity.

Why Take This Course

Almsot all Apps consume data from web services, and therefore must use background threads for these lengthy operations.

Even though we provide a black box solution for concurrency in the iOS Networking with Swift course, it is important that you understand how concurrency works in iOS.

This knowledge is vital to deliver Apps that won't be rejected from the App Store and also provide a great user experience.

On top of that, GCD is a frequent topic in iOS job interviews.

What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals
Icon globe

Udacity 现已提供中文版本! A Udacity tem uma página em português para você! There's a local version of Udacity for you! Sprechen Sie Deutsch?

Besuchen Sie de.udacity.com und entdecken Sie lokale Angebote, unsere Partnerunternehmen und Udacitys deutschsprachigen Blog.

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site Icon flag de Zu de.udacity.com continue in English