首页 > 代码库 > iOS多线程开发小demo5 线程间的通信
iOS多线程开发小demo5 线程间的通信
// DYFViewController.m// 623-06-线程间的通信//// Created by dyf on 14-6-23.// Copyright (c) 2014年 ___FULLUSERNAME___. All rights reserved.//#import "DYFViewController.h"@interface DYFViewController ()@property (weak, nonatomic) IBOutlet UIImageView *imaV;@end@implementation DYFViewController- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib.}- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ // 1.下载图片 [self performSelector:@selector(download) withObject:nil]; // 显示、刷新界面,只能在主界面 // 2.显示图片}/** * 下载图片:子线程 */- (void)download{ // 1.根据URL下载图片 NSURL *url = [NSURL URLWithString:@"http://image.cache.xiu8.com/live/125/125/997729.jpg"]; NSLog(@"---------begin"); NSData *data = http://www.mamicode.com/[NSData dataWithContentsOfURL:url]; // 耗时"-----------end"); UIImage *image = [UIImage imageWithData:data]; // 2.回到主线程显示图片// [self.imaV performSelector:@selector(setImage:) onThread:[NSThread mainThread] withObject:image waitUntilDone:NO modes:nil]; //[self performSelectorOnMainThread:@selector(settingImage:) withObject:nil waitUntilDone:NO]; [self.imaV performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:NO];}/** * 显示图片:主线程 * * @param image image */- (void)settingImage:(UIImage *)image{ self.imaV.image = image;}@end
小结:主线程与子线程之间的通信
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。