SDWebImageCacheSerializer.m 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * This file is part of the SDWebImage package.
  3. * (c) Olivier Poitrey <rs@dailymotion.com>
  4. *
  5. * For the full copyright and license information, please view the LICENSE
  6. * file that was distributed with this source code.
  7. */
  8. #import "SDWebImageCacheSerializer.h"
  9. @interface SDWebImageCacheSerializer ()
  10. @property (nonatomic, copy, nonnull) SDWebImageCacheSerializerBlock block;
  11. @end
  12. @implementation SDWebImageCacheSerializer
  13. - (instancetype)initWithBlock:(SDWebImageCacheSerializerBlock)block {
  14. self = [super init];
  15. if (self) {
  16. self.block = block;
  17. }
  18. return self;
  19. }
  20. + (instancetype)cacheSerializerWithBlock:(SDWebImageCacheSerializerBlock)block {
  21. SDWebImageCacheSerializer *cacheSerializer = [[SDWebImageCacheSerializer alloc] initWithBlock:block];
  22. return cacheSerializer;
  23. }
  24. - (NSData *)cacheDataWithImage:(UIImage *)image originalData:(NSData *)data imageURL:(nullable NSURL *)imageURL {
  25. if (!self.block) {
  26. return nil;
  27. }
  28. return self.block(image, data, imageURL);
  29. }
  30. @end