异步图像下载成功但图像不出现

时间:2014-02-16 17:18:09

标签: ios objective-c asynchronous uiimageview

我正在编写一个应用程序,在视图中显示来自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没有出现......

有什么想法吗?提前谢谢。

0 个答案:

没有答案