SDWebImage оказался действительно надежной реализацией асинхронного извлечения и кэширования изображений.
Если вы используете веб-изображения для кнопок или изображений, вы даже можете вызвать методы -(void)setImageWithURL:(NSURL *)url
, которые проверяткэшируйте, получите изображение для вас и, если его там нет, оно будет асинхронно загружать его и сохранять его в кэше перед установкой.
Если вам нужны изображения для каких-то других вещей, вы все равно можете воспользоваться этимбиблиотеку, вызвав:
SDWebImageManager *manager = [SDWebImageManager sharedManager];
// Remove in progress downloader from queue
[manager cancelForDelegate:self];
[manager downloadWithURL:yourURL delegate:self options:0];
и получив изображение позже по методу делегата:
- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image
{
// Do something with the image
}
Обратите внимание, что
- (void)downloadWithURL:(NSURL *)url delegate:(id<SDWebImageManagerDelegate>)delegate options:(SDWebImageOptions)options
проверяет кэш перед попыткойзагрузить, так что это можно вызывать каждый раз, когда вам нужно изображение.