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.
Closures in Swift,Properties of closures that we bypassed in our Swift Syntax course
Grand Central Dispatch
Apple's open source library Grand Central Dispatch,How GCD allows you to send tasks to the background and (equally important) to the foreground,How and what you can send to the background and what must always run in the foreground
Create a simple App that downloads huge images (the easiest way to block the UI),Send this network lengthy task to the background in 2 different ways,Run closures in the background,Design methods that take a completion closure