iOS使用GCD下载图片

 //选择组合:全局队列异步执行 -> 由子线程下载图片
    dispatch_queue_t globalQueue = dispatch_get_global_queue(0, 0);
    dispatch_async(globalQueue, ^{
        
        NSLog(@"开始下载图片:%@", [NSThread currentThread]);
        //NSString -> NSURL -> NSData -> UIImage
        NSString *imageStr = @"http://www.egouz.com/uploadfile/2015/0305/20150305103626911.jpg";
        NSURL *imageURL = [NSURL URLWithString:imageStr];
        //下载图片
        NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
        UIImage *image = [UIImage imageWithData:imageData];
        
        //从子线程回到主线程(方式二:常用)
        //组合:主队列异步执行
        dispatch_async(dispatch_get_main_queue(), ^{
            NSLog(@"回到主线程:%@", [NSThread currentThread]);
            //更新界面
            self.imageView.image = image;
        });
        
        NSLog(@"xxxxxxxx");
    });
    
    //主线程执行
    NSLog(@"下载图片。。。。。");

你可能感兴趣的:(iOS使用GCD下载图片)