码迷,mamicode.com
首页 > 其他好文 > 详细

GCD 大中枢派发 简单应用实例

时间:2015-12-14 18:17:46      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

@interface ViewController ()

{

    UIImageView* iv;

    UIButton* btn;

    UILabel* lbl;

}

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

 

    iv=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];

    lbl=[[UILabel alloc]initWithFrame:CGRectMake(0, 100, 100, 30)];

    btn=[[UIButton alloc]initWithFrame:CGRectMake(0, 130, 100, 30)];

    [btn addTarget:self action:@selector(loadData) forControlEvents:UIControlEventTouchUpInside];

    btn.backgroundColor=[UIColor orangeColor];

    

    [self.view addSubview:iv];

    [self.view addSubview:lbl];

    [self.view addSubview:btn];

}

 

-(void)loadData

{

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{

        NSString* url=@"http://f4.topitme.com/4/e4/5e/1132253263b8b5ee44o.jpg";

        NSData* data=[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:url]];

        UIImage* image=[[UIImage alloc]initWithData:data];

        if (image) {

            dispatch_async(dispatch_get_main_queue(), ^{

                self->iv.image=image;

            });

        }

        else

        {

            NSLog(@"下载错误");

        }

    });

    

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{

        NSString* str=@"123";

        if (str) {

            dispatch_async(dispatch_get_main_queue(), ^{

                self->lbl.text=str;

            });

        }

        else

        {

            NSLog(@"下载错误");

        }

    });

}

GCD 大中枢派发 简单应用实例

标签:

原文地址:http://www.cnblogs.com/death3721/p/5045635.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!