標籤:www 顯示圖片 url obj htm color UI void until
當線程的數量大於一個的時候,線程之間可能會產生通訊,既一個線程產生的結果要被另一個線程用到。
比如常用的圖片的載入就是這個樣子。圖片的載入是在子線程進行的,當圖片載入完畢,就會回到主線程中重新整理UI,展示圖片。
#import "ViewController.h"@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *iconView;@end@implementation ViewController- (void)viewDidLoad{ [super viewDidLoad];}-(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{ [self performSelectorInBackground:@selector(download) withObject:nil];}-(void)download{ //1.根據URL下載圖片 //從網路中下載圖片 NSURL *urlStr = [NSURL URLWithString:@"asdf"]; //把圖片轉換為二進位的資料 NSData *data = [NSData dataWithContentsOfURL:urlStr]; //把資料轉換成圖片 UIImage *image = [UIImage imageWithData:data]; //2.回到主線程中設定圖片 [self performSelectorOnMainThread:@selector(settingImage:) withObject:image waitUntilDone:NO];
//第二種方式
// [self.imageView performSelector:@selector(setImage:) onThread:[NSThread mainThread] withObject:image waitUntilDone:NO];
//第三種方式 :圖片調用set方法,很好!!!
// [self.iconView performSelectorOnMainThread:@selector(setImage:) withObject:image waitUntilDone:NO];
}
//設定顯示圖片 -(void)settingImage:(UIImage *)image { self.iconView.image=image; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; }
@end
本文參考文頂頂的部落格:
http://www.cnblogs.com/wendingding/p/3805884.html
iOS----線程之間的通訊