I\'m already using AFNetworking for async image download. I was wondering if there\'s a way for storing on disk or Core Data, should I investigate SDWebImage for that? Or yo
You could have a look to EGOImage which basically makes asynchronous calls and caching of images on the file system.
SDWebImage has proven to be a really solid implementation of async image fetching and caching.
If you're using your web images for buttons or imageviews you can even call the -(void)setImageWithURL:(NSURL *)url
methods that will check the cache, get the image for you and if it's not there, it will async download it and store it in the cache before setting it.
If you need the images for some other stuff, you can still benefit from this library by calling :
SDWebImageManager *manager = [SDWebImageManager sharedManager];
// Remove in progress downloader from queue
[manager cancelForDelegate:self];
[manager downloadWithURL:yourURL delegate:self options:0];
and retrieving the image later on the delegate method:
- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image
{
// Do something with the image
}
Note that
- (void)downloadWithURL:(NSURL *)url delegate:(id<SDWebImageManagerDelegate>)delegate options:(SDWebImageOptions)options
does check the cache before attempting to download, so it is safe to call this every time you need an image.
Give this a try...
https://github.com/rs/SDWebImage