- (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执行下载图片操作
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 简述在前两章都只是介绍如何使用NSThread以及它的一些方法、状态,那么这一章我们来一个比较有意思的东西:使用多...
- 一、NSBundle 工程中所有的资源文件 编译文件 二、上传图片到服务器 项目:upload05091.客户端和...
- 最近优化项目中,TableView滑动时不加载,停止滑动才加载图片,在iOS项目开发中是非常常见的。本文章中就不重...
- 为了应付小学一年级的作业才写下的,其实虽是亲生姐妹,却毫无感情关系可言。 我们就像是出生在一个家庭不同时期的两个单...