异步线程加载数据和保存照片到相册

103 阅读1分钟
#import "ViewController.h"
#import <Masonry/Masonry.h>

@interface ViewController ()

@property (nonatomic,strong) UIImageView *imageView;
@property (nonatomic,strong) UIImage *image;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    [self.view addSubview:self.imageView];
    [self loadData];
}

- (UIImageView *)imageView {
    if (!_imageView) {
        _imageView = [[UIImageView alloc] init];
        _imageView.frame = CGRectMake(100, 100, 200, 200);
        _imageView.backgroundColor = [[UIColor redColor] colorWithAlphaComponent:0.1];
    }
    return _imageView;
}

- (void)loadData {
    ///异步线程
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        //处理业务逻辑
        NSString *url = @"http://imgsrc.baidu.com/forum/w%3D580/sign=2e824145d2c8a786be2a4a065708c9c7/5a8e72094b36acaf254077437fd98d1000e99c4a.jpg";
        NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
        NSData *picData = [NSURLConnection sendSynchronousRequest:request
                                                returningResponse:nil
                                                            error:nil];
        NSLog(@"处理业务逻辑");
        //获取图片;
        self.image = [UIImage imageWithData:picData];
        
        ///异步主线程
        dispatch_async(dispatch_get_main_queue(), ^{
            NSLog(@"更新UI");
            //更新UI
            [self.imageView setImage:self.image];
        });
    });
}

@end