多线程学习10-GCD的线程间通信

学习多线程10(之前跟着小码哥视频学习了多线程,准备把学到的东西放到网上,便于参考。仅有视频,所以所有文字都是自己打的,同时也温习一下多线程)

GCD的线程间通信,简单事例(下载图片)。

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

- (IBAction)downBtnClick:(UIButton *)sender;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
}

/** 下载按钮点击事件 */
- (IBAction)downBtnClick:(UIButton *)sender {
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        //图片的网络路径
        NSURL *url = [NSURL URLWithString:@"http://img.pusa123.com/www/uploads/allimg/160315/17592_160315095042_1.jpg"];
        //加载图片
        NSData *data = [NSData dataWithContentsOfURL:url];
        //生成图片
        UIImage *image = [UIImage imageWithData:data];
        
        //回到主线程,刷新UI,显示图片。
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.imageView setImage:image];
        });
    });
    
}


你可能感兴趣的:(多线程,ios,ios开发,gcd)