zoukankan      html  css  js  c++  java
  • 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];
                });
            }
        });

    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    黄聪:让wordpress模板完全整合google AdSense搜索广告
    黄聪:如何用SQL Server内置的存储过程模板对数据库进行备份和恢复
    git使用安装实战
    Redis持久化之大数据服务暂停问题
    redis的那些事
    centos上安装git
    拿什么守护你PHP程序级守护进程的实现与优化
    redis学习资料链接地址汇总
    redis搭建实战记录
    zeromq_传说中最快的消息队列
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4838258.html
Copyright © 2011-2022 走看看