zoukankan      html  css  js  c++  java
  • 线程4--线程间通信

    子线程执行完延时操作后返回主线程,这就是通信

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        
        // 在子线程中调用download方法下载图片
        [self performSelectorInBackground:@selector(download) withObject:nil];
    }
    -(void)download
    {
        //1.根据URL下载图片
        //从网络中下载图片
        NSURL *urlstr=[NSURL URLWithString:@"http://cdn.duitang.com/uploads/item/201409/17/20140917231336_URiHE.jpeg"];
        NSLog(@"touch down ");
        
        //把图片转换为二进制的数据
        NSData *data=[NSData dataWithContentsOfURL:urlstr];//这一行操作会比较耗时
        
        //把数据转换成图片
        UIImage *image=[UIImage imageWithData:data];
        
        //2.回到主线程中设置图片
            //第一种方式
        //    [self performSelectorOnMainThread:@selector(settingImage:) withObject:image waitUntilDone:NO];
        
        //第二种方式
            [self.iconView performSelector:@selector(setImage:) onThread:[NSThread mainThread] withObject:image waitUntilDone:NO];
        }
    //设置显示图片
    -(void)settingImage:(UIImage *)image
    {
        self.iconView.image=image;
    }
  • 相关阅读:
    图片上传iOS
    SpringMVC最基础配置
    随笔- 人生感悟
    学习SpringMVC——从HelloWorld开始
    springMVC
    struts2简介
    Struts2 实例
    java多线程
    服务器非正常断电后自动加电重启如何设置?!
    delphi for android 获取手机号
  • 原文地址:https://www.cnblogs.com/sunjianfei/p/5725029.html
Copyright © 2011-2022 走看看