美文网首页
NSThread执行下载图片操作

NSThread执行下载图片操作

作者: JohnayXiao | 来源:发表于2017-08-02 08:56 被阅读9次
- (IBAction)downloadImageByNSThread:(id)sender {
    //1.NSThead对象
    NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(downloadImage) object:nil];
    //2.执行下载逻辑
    //3.启动子线程
    [thread start];
}

- (void)downloadImage {
    //NSSting -> NSURL -> NSData -> UIImage
    NSString *imageStr = @"http://www.egouz.com/uploadfile/2015/0305/20150305103626911.jpg";
    NSURL *imageUrl = [NSURL URLWithString:imageStr];
    //如下方法是耗时的操作
    NSData *imageData = [NSData dataWithContentsOfURL:imageUrl];
    UIImage *image = [UIImage imageWithData:imageData];
    /*由子线程回到主线程,赋值给imageView
      主线程执行任务优先级高于子线程任务
     */
    //子线程回到主线程方式一(理解)
    [self performSelectorOnMainThread:@selector(returnMainThread:) withObject:image waitUntilDone:YES];
    
    NSLog(@"35345");
}

- (void)returnMainThread:(UIImage *)image {
    NSLog(@"赋值:%@", [NSThread currentThread]);
    self.imageView.image = image;
}

相关文章

  • NSThread执行下载图片操作

  • 多图片下载性能调优(SDWebImage思路)

    文章标题起的好装逼? 1、在主线程下载图片,显示图片 性能问题:图片下载是耗时操作,由于操作是在主线程执行,所以会...

  • iOS 多线程

    GCD NSOperation(NSNetWorking和图片异步下载) NSThread (常驻线程的实现) 多...

  • IOS多线程-线程间的通信

    使用NSThread实现线程间的通信 实现效果 ⚠️注意!!! 如果点击屏幕发现不能正常下载图片,并且报以下错误的...

  • iOS技术图谱之NSThread

    NSThread 1、什么是NSThread? NSThread是苹果官方提供面向对象操作线程的技术,简单方便,可...

  • swift3多线程学习笔记

    当通过url来给UIImageView设置图片的时候需要下载图片,如果在主线程中执行下载图片并设置图片会导致在下载...

  • 图片预加载

    定义:图片预先加载到浏览器中,即先让图片下载到本地,然后在继续执行后续的操作 js实现图片预加载 进度条:h5新标签

  • Objc多线程-NSThread

    NSThread 查看NSThread.h中的接口: 类方法不返回NSThread实例,直接在其他线程里面执行任务...

  • iOS NSThread解析

    一,NSThread简介 NSThread是苹果官方提供面向对象操作线程的技术,简单方便,可以直接操作线程对象。 ...

  • 多线程知识总结

    一:多线程概念知识: 二,NSThread 的使用场景(1)耗时操作放在子线程中执行 三.多线程安全 四.GCD ...

网友评论

      本文标题:NSThread执行下载图片操作

      本文链接:https://www.haomeiwen.com/subject/mbhelxtx.html