From what I understand, you can only update the UI from the main queue, so why is this code working anyway ?
dispatch_sync(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0)) {
self.myLabel.text = "Updated text"
}
The queue provided by QOS_CLASS_BACKGROUND
is definitely not the main queue !