码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发多线程篇---线程间的通信

时间:2015-03-03 19:07:01      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

线程间通信的表现:

1个线程传递数据给另1个线程

在1个线程中执行完特定任务后,转到另1个线程继续执行任务

下面是一个下载图片的例子:

@interface BTThreadViewController ()
{
    UIImageView *imagev;
}
@end

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    imagev = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
    [self.view addSubview:imagev];
    
    //子线程里面调用downImage方法下载图片
    [self performSelectorInBackground:@selector(downImage) withObject:nil];
}

-(void)downImage
{
    //从网络中下载图片
    NSURL *url = [NSURL URLWithString:@"http://i8.topit.me/8/c1/31/1142319854bdc31c18o.jpg"];
    //将图片转换为二进制数据
    NSData *imgData = [NSData dataWithContentsOfURL:url];
    //数据转换成图片
    UIImage *img = [UIImage imageWithData:imgData];
    
    //回到主线程设置图片
    [self performSelectorOnMainThread:@selector(senderImage:) withObject:img waitUntilDone:NO];
}

-(void)senderImage:(UIImage *)image
{
    imagev.image = image;
}


iOS开发多线程篇---线程间的通信

标签:

原文地址:http://my.oschina.net/linxiaoxi1993/blog/382189

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!