2015-10-21 3 views
0

Сначала я загружаю эскиз, а затем запрашиваю оригинальную версию изображения, но не получаю ответа на исходный запрос изображения.SDWebImage thumb + проблема с загрузкой оригинального изображения

[imageView sd_setImageWithURL:thumbUrl completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 

    if (image) { 

     imageView.image = image; 

     if (originalUrl != nil) { 

      [imageView sd_setImageWithURL:originalUrl placeholderImage:image completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){ 

       if (image) { 

        imageView.image = image; 
       } 

      }]; 
     } 
    } 
}]; 

Спасибо ..

+0

В случае, если изображение равно нулю, я ожидаю, что в блок завершения будет отправлена ​​ошибка. Вы проверили 'ошибку'? – iOSX

+0

Я проверил его, не получив ответа на второй запрос. есть ли проблема с запросом внутри обработчика завершения? –

+0

Прежде всего, вы не должны устанавливать изображение в imageView 'imageView.image = image;' Это будет сделано автоматически. – Che

ответ

0

Попробуйте этот случай

[imageView sd_setImageWithURL:thumbUrl completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 
     if (originalUrl != nil) { 
      [imageView sd_setImageWithURL:originalUrl placeholderImage:image completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){ 
      }]; 
     } 
    } 
}]; 

Это один:

[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:path] 
                 options:nil 
                 progress:nil 
                 completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) { 
                  if (image) 
                  { 
                   [self.artworkImageView sd_setImageWithURL:[NSURL URLWithString:path2] placeholderImage:image 
                           completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 
                            if (image) 
                             NSLog(@"magic"); 
                           }]; 
                  } 
                 }]; 
+0

Я не могу найти разницы Che –

+0

Хорошо, если вам не нравится этот вариант, вы можете попробовать другое. Добавлен в мой комментарий. – Che

0

Я решил свою проблему с помощью следующего кода

UIImageView * hiddenImageView = [[UIImageView alloc] init]; 

[hiddenImageView sd_setImageWithURL:thumbUrl completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { 

    if (image) { 

     mImageView.image = image; 
    } 

    if (originalUrl != nil) { 

     [mImageView sd_setImageWithURL:originalUrl placeholderImage:image completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){ 

      if (image) { 

       mImageView.image = image; // optional 
      } 

     }]; 

    } 
}]; 
Смежные вопросы