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

GCD下载图片

时间:2015-06-08 13:24:44      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:ios   gcd   图片   

cell.myimage.layer.masksToBounds=YES;
    cell.myimage.layer.cornerRadius=cell.myimage.frame.size.width/2;
    //dispatch_async会向kBgQueue队列中添加新的任务去执行,这里kBgQueue队列使用dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)获得。dispatch_async 函数会将传入的block块放入指定的queue里运行。这个函数是异步的,这就意味着它会立即返回而不管block是否运行结束。因此,我们可以在block里运行各种耗时的操作(如网络请求) 而同时不会阻塞UI线程。 dispatch_get_global_queue 会获取一个全局队列,我们姑且理解为系统为我们开启的一些全局线程。我们用priority指定队列的优先级,而flag作为保留字段备用(一般为0)。dispatch_get_main_queue 会返回主队列,也就是UI队列。它一般用于在其它队列中异步完成了一些工作后,需要在UI队列中更新界面(比如上面代码中的[self updateUIWithResult:result])的情况。
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSURL *url=[NSURL URLWithString:cellInfo.image];
        NSData *data=[[NSData alloc]initWithContentsOfURL:url];
        UIImage *iamge=[[UIImage alloc]initWithData:data];
        if (data!=nil) {
            dispatch_async(dispatch_get_main_queue(), ^{
                [cell.myimage setBackgroundImage:iamge forState:UIControlStateNormal];
            });
        }
    });

GCD下载图片

标签:ios   gcd   图片   

原文地址:http://blog.csdn.net/darongzi1314/article/details/46411049

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