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
Free
Timeline
Approx. 2 weeks
Skill Level
Intermediate
Included in Course
  • Icon course 01 3edf6b45629a2e8f1b490e1fb1516899e98b3b30db721466e83b1a1c16e237b1 Rich Learning Content

  • Icon course 04 2edd94a12ef9e5f0ebe04f6c9f6ae2c89e5efba5fd0b703c60f65837f8b54430 Interactive Quizzes

  • Icon course 02 2d90171a3a467a7d4613c7c615f15093d7402c66f2cf9a5ab4bcf11a4958aa33 Taught by Industry Pros

  • Icon course 05 237542f88ede3178ac4845d4bebf431ddd36d9c3c35aedfbd92e148c1c7361c6 Self-Paced Learning

  • Icon course 03 142f0532acf4fa030d680f5cb3babed8007e9ac853d0a3bf731fa30a7869db3a 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 54aa753742d05d598baf005f2bb1b5bb6339a7d544b84089a1eee6acd5a8543d

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

Thanks for your interest!

We'll be in touch soon.

Icon globe e82eae5d45465aba4fbe4bb746905ce55dc3324f310b79c60e4a20089057d347

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

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site or continue to Global Site