子執行緒執行延時操作,執行完成後返回主執行緒更新介面
dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);//子執行緒; dispatch_async(queue, ^{ NSLog(@"%@---",[NSThread currentThread]); NSURL *url=[NSURL URLWithString:@"http://img.hb.aicdn.com/1f2acbecdc6ac6187a9b02bffe4a5dedc9fe45ff15a44-D6LjC1_fw580"]; NSData *data=[NSData dataWithContentsOfURL:url]; UIImage *image=[UIImage imageWithData:data];\ NSLog(@"圖片載入完畢"); /*************************開啟子執行緒,載入圖片*****************/ //[self.imageView performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:YES]; /***********************************************************/ /*要求使用GCD的方式,在子執行緒載入圖片完畢後,主執行緒拿到載入的image重新整理UI介面。 執行緒間通訊 從子執行緒回到主執行緒 */ dispatch_queue_t queuemain=dispatch_get_main_queue();//主執行緒; dispatch_async(queuemain, ^{ self.imageView.image=image; NSLog(@"%@",[NSThread currentThread]); }); /**********************************************************/ });