(1)请求图片的操作
[NSThread detachNewThreadSelector:@selector(imageResourceRequest:) toTarget:self withObject:url];
(2)执行下载图片的函数
//请求图片资源
-(void)imageResourceRequest:(NSString *)url
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//根据网络数据,获得到image资源
NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:url]];
UIImage *image = [[UIImage alloc] initWithData:data];
if(image == nil){
}else {
NSMutableDictionary *mutable = [[NSMutableDictionary alloc]init];
[mutable setObject:url forKey:@"url"];
[mutable setObject:image forKey:@"data"];
//回到主线程,显示图片信息
[self performSelectorOnMainThread:@selector(displayImage:) withObject:mutable waitUntilDone:NO];
}
[data release];
[image release];
[pool release];
}
(3)显示图片
//显示图片信息
-(void)displayImage:(NSMutableDictionary *)imageDataDictionary
{
UIImage* image = (UIImage *)[imageDataDictionary objectForKey:@"data"];
NSString* url = (NSString *)[imageDataDictionary objectForKey:@"url"];
[FlowerPicData instanceAddObject:url : image];
[_gridView reloadData];
[imageDataDictionary release];
}