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下载图片的更多相关文章

  1. [Xcode 实际操作]八、网络与多线程-(22)使用GCD多线程技术异步下载图片

    目录:[Swift]Xcode实际操作 本文将演示如何使用使用GCD多线程技术异步下载图片. Grand Central Dispatch(GCD) 是 Apple 开发的一个多核编程的较新的解决方法 ...

  2. OC - GCD 队列组 - 下载图片画图

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ [self downloadIma ...

  3. IOS GCD (事例下载图片)

    @interface HMViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageView; @end @im ...

  4. AJ学IOS(51)多线程网络之GCD下载合并图片_队列组的使用

    AJ分享,必须精品 合并图片(图片水印)第一种方法 效果 实现: 思路: 1.分别下载2张图片:大图片.LOGO 2.合并2张图片 3.显示到一个imageView身上 // 异步下载 dispatc ...

  5. iOS多线程自定义operation加载图片 不重复下载图片

    摘要:1:ios通过抽象类NSOperation封装了gcd,让ios的多线程变得更为简单易用:   2:耗时的操作交给子线程来完成,主线程负责ui的处理,提示用户的体验   2:自定义operati ...

  6. [翻译] AsyncImageView 异步下载图片

    AsyncImageView  https://github.com/nicklockwood/AsyncImageView AsyncImageView is a simple extension ...

  7. 多线程下载图片,滑动tableView崩溃--资源抢夺问题

    最近练习使用NSoperation模拟SDWebImage下载图片,发生了崩溃的问题,还专门写博客记录这件事情: http://www.cnblogs.com/tufei7/p/7074030.htm ...

  8. C++根据图片url下载图片

    需要使用到URLDownloadToFile()函数,该函数在头文件<urlmon.h>中声明. URLDownloadToFile()函数的定义如下: HRESULT URLDownlo ...

  9. .net 已知图片的网络路径,通过浏览器下载图片

    没什么技术含量,主要留给自己查找方便: 如题,知道图片的完整网络路径的情况下,在浏览器中下载图片的实现: 下面这个方法实现的是把图片读取为byte数组: private byte[] GetImage ...

随机推荐

  1. varchar 分享影响记忆 试

    准备数据 sysbench --test=oltp --oltp-nontrx-mode=update_key --mysql-table-engine=innodb --oltp-table-siz ...

  2. Windows phone 8 学习笔记(4) 应用的启动

    原文:Windows phone 8 学习笔记(4) 应用的启动 Windows phone 8 的应用除了可以直接从开始菜单以及应用列表中打开外,还可以通过其他的方式打开.照片中心.音乐+视频中心提 ...

  3. JSP简单介绍

    前言 知识点 1.JSP是什么   java  server   page,javaserver端页面技术.其主要作用在server端动态生成页面, 其组成java代码和html, 2.JSP的组成 ...

  4. 从零开始学Xamarin.Forms(五) 技巧

    原文:从零开始学Xamarin.Forms(五) 技巧 由于HTML5规范于2014年10月终于定稿,公司.net开发人员较少,国内外已有了较为成熟的UI框架.手机软件硬件的快速发展等等原因,所以我就 ...

  5. J2EE的13个规范之JDBC

    假设让你接触一样新的东西.你可能感觉无所适从,可是假设本来就是旧事物的话,你学习起来还难吗? 一.ODBC,我们的老朋友 ODBC(Open Database Connectivity)是微软公司与数 ...

  6. msyql在查询字段中的所有记录,不重复

    mysql> select * from a ;  +----+------+--------------+ | id | name | descri       | +----+------+ ...

  7. C++ - Identifier not found

     This is because forward declaration in C++: Compiler needs to know function prototype when functi ...

  8. mongodb笔记2

    成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show collections:显示 ...

  9. mvc图片地址

    System.Web.HttpContext.Current.Server.MapPath(@"~\Images\radio1.png");

  10. 开源Math.NET基础数学类库使用(16)C#计算矩阵秩

    原文:[原创]开源Math.NET基础数学类库使用(16)C#计算矩阵秩                本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4 ...