Member-only story
Getting Main Queue iOS
The main queue is the dispatch queue in which all the UI updates take place and the code involving UI changes are placed.
You need to get to the main queue in order to update UI on completion of an asynchronous process like NSURLSession
There are two types of main queue calls synchronous and asynchronous. When you invoke something synchronously, it means that the thread that initiated that operation will wait for the task to finish before continuing. Asynchronous means that it will not wait.
Code Objective-C
Synchronous Main Queue call
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
Asynchronous Main Queue call
dispatch_async(dispatch_get_main_queue(), ^{
// do work here to Usually to update the User Interface});
SWIFT 3
Asynchronous Main Queue call
DispatchQueue.main.async {}
Synchronous Main Queue call
DispatchQueue.main.sync {}