首页 > 代码库 > 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

 小结:主线程与子线程之间的通信