Так же, как говорится в названии.Дано:
[imageView setImageWithURL:[NSURL URLWithString:imageurl]];
Каков наилучший способ выполнения задач, когда изображение загружается (или извлекается из кэша) и отображается?
API setImageWithURL - это очень удобный метод, но вам нужно немного больше контроля, поэтому я советую загрузить изображение самостоятельно (в значительной степени вдохновлено https://github.com/rs/SDWebImage/blob/master/README.md):
SDWebImageManager *manager = [SDWebImageManager sharedManager]; UIImage *cachedImage = [manager imageWithURL:url]; if (cachedImage) { [imageView setImage:cachedImage]; [self doMyOtherCustomStuff]; } else { [manager downloadWithURL:url delegate:self]; }
...
- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image { [imageView setImage:image]; [self doMyOtherCustomStuff]; }
удачи!
Одним из вариантов является реализация протокола SDWebImageManagerDelegate. В документации SDWebImage есть пример.
SDWebImageManagerDelegate
SDWebImage
Другим вариантом является использование KVO и просмотр свойства image на imageView.
image
imageView