TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Apr 2017 |
Maintained by Lucian Boboc.
LBCache is an asynchronous image cache framework for iOS
There are 3 options to use:
LBCacheImageOptionsDefault
- default option will search first into the cache, if the image is not found will download from the web.LBCacheImageOptionsReloadFromWeb
- reload option will always download the image from the web even if it is already cached.LBCacheImageOptionsLoadOnlyFromCache
- cache option will search only into the cache
__weak UIImageView *weakImgView = cell.imgView;
[cell.imgView setImageWithURLString: self.array[indexPath.row] placeholderImage: nil options: LBCacheImageOptionsDefault progressBlock:^(NSUInteger percent) {
NSLog(@"percent: %ld",percent);
} completionBlock:^(UIImage * image, NSError * error) {
dispatch_async(dispatch_get_main_queue(), ^{
weakImgView.image = image;
});
}];
This class is used by the UIImageView category for the download but you can use it directly. You can use methods from LBCacheManager to get the UIImage object from the disk or the path location where the image is cached.
imagePathLocationForURLString:
- a string with the local path location of the image saved on disk or nil if the image for the URLString is not found.imageForURLString:
- same as UIImageView+LBCategory, search the UIImage directly in cache (memory or disk), nil is returned if not found.
__weak UIImageView *weakImgView = self.imgView;
[[LBCacheManager sharedInstance] downloadImageFromURLString: self.array[indexPath.row] options: LBCacheImageOptionsDefault progressBlock:^(NSUInteger percent) {
NSLog(@"percent: %ld",percent);
} completionBlock:^(UIImage * image, NSError * error) {
dispatch_async(dispatch_get_main_queue(), ^{
weakImgView.image = image;
});
}];
// you can also get the image from the disk using the urlString.
UIImage *image = [[LBCacheManager sharedInstance] imageForURLString: urlString];
// you can get the image path where it is cached.
NSString *imgPath = [[LBCacheManager sharedInstance] imagePathLocationForURLString:urlString];
You can use this class category to get hash value from a string.
MD5, SHA1 and SHA256
Methods to use:
lbHashMD5
- create an MD5 hashlbHashSHA1
- create an SHA1 hashlbHashSHA256
- create an SHA256 hashlbHashWithType:
- create a hash using the 3 available options
// you can use lbHashMD5, lbHashSHA1 or lbHashSHA256 method to get the specific hash from a string.
NSString *hashStr = [urlString lbHashSHA1];
// you can also use the lbHashWithType method and pass an option HashTypeMD5, HashTypeSHA1 or HashTypeSHA256
NSString *hashStr = [urlString lbHashWithType: HashTypeMD5];
This content is released under the MIT License https://github.com/lucianboboc/LBCache/blob/master/LICENSE.md
Enjoy!