Grand Central Dispatch makes asynchronous programming easier and safer by hiding threads from developer.
Types of Queues
sync, async
Main Queue
dispatch_get_global_queue()
dispatch_async()
let q = dispatch_get_global_queue(QOS_CLASS_USER_INTERACTIVE, 0) dispatch_async(q) { () -> Void in print("tic") } print("tac")
will it crash?
let downloadQueue = dispatch_queue_create("download", nil) dispatch_async(downloadQueue)() -> Void in let imgData = NSData(contentsOfURL:url!) let image = UIImage(data:imgData!) self.photoView.image = image
@IBAction func synchronousDownload(_ sender: UIBarButtonItem){ let url = URL(string: BigImages.seaLion.rawValue) let imgData = try? Data(contentsOf: url!) let image = UIImage(data: imgData!) photoView.image = image }