我正在编写一个应用程序,在视图中显示来自URL的图像。这个想法是当视图出现时,图像被下载并在视图中实现UIImamgeView。
我正在以这种方式使用Asyncrounse方法:
-(void)downloadASyncro:(NSString*)urlLink{
NSURL * imageURL = [NSURL URLWithString:urlLink];
[self downloadImageWithURL:imageURL completionBlock:^(BOOL succeeded, UIImage *image) {
if (succeeded) {
NSLog(@"scaricaImmagineASyncro Succeded= %@",image);
picView.image = image;
}
else {
//default image
picView.image = [UIImage imageNamed:@"icon_old.jpg"];
}
}];
}
downloadImageWithURL方法是:
- (void)downloadImageWithURL:(NSURL *)url completionBlock:(void (^)(BOOL succeeded, UIImage *image))completionBlock
{
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request
queue:[NSOperationQueue mainQueue]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
if ( !error )
{
UIImage *image = [[UIImage alloc] initWithData:data];
completionBlock(YES,image);
} else{
completionBlock(NO,nil);
}
}];
}
当我打电话给方法时:
[self downloadASyncro:link];
并且操作看到成功结束(NSLOG),picView.image = image;应该实现显示下载图像的视图,不应该吗?但是immage没有出现......
有什么想法吗?提前谢谢。