MOBFImageGetter.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. //
  2. // MOBFImageGetter.h
  3. // MOBFoundation
  4. //
  5. // Created by fenghj on 16/1/21.
  6. // Copyright © 2016年 MOB. All rights reserved.
  7. //
  8. #import "MOBFImageObserver.h"
  9. #import "MOBFImageServiceTypeDef.h"
  10. #import <Foundation/Foundation.h>
  11. @class MOBFImageCachePolicy;
  12. /**
  13. * 图片获取器
  14. */
  15. @interface MOBFImageGetter : NSObject
  16. /**
  17. * 获取共享图片服务实例
  18. *
  19. * @return 图片服务实例
  20. */
  21. + (instancetype)sharedInstance;
  22. /**
  23. 初始化图片服务实例
  24. @param cachePolicy 缓存策略
  25. @return 图片服务实例
  26. */
  27. - (instancetype)initWithCachePolicy:(MOBFImageCachePolicy *)cachePolicy;
  28. /**
  29. * 是否存在图片缓存
  30. *
  31. * @param url 图片URL
  32. *
  33. * @return YES 表示图片已缓存,NO 图片未缓存
  34. */
  35. - (BOOL)existsImageCacheWithURL:(NSURL *)url;
  36. /**
  37. * 获取图片
  38. *
  39. * @param url 图片路径
  40. * @param resultHandler 返回事件
  41. *
  42. * @return 服务观察者
  43. */
  44. - (MOBFImageObserver *)getImageWithURL:(NSURL *)url
  45. result:(MOBFImageGetterResultHandler)resultHandler;
  46. /**
  47. * 获取图片
  48. *
  49. * @param url 图片路径
  50. * @param allowReadCache 是否允许读取缓存
  51. * @param resultHandler 返回事件
  52. *
  53. * @return 服务观察者
  54. */
  55. - (MOBFImageObserver *)getImageWithURL:(NSURL *)url
  56. allowReadCache:(BOOL)allowReadCache
  57. result:(MOBFImageGetterResultHandler)resultHandler;
  58. /**
  59. 获取图片数据
  60. @param url 图片路径
  61. @param resultHandler 返回事件
  62. @return 服务观察者
  63. */
  64. - (MOBFImageObserver *)getImageDataWithURL:(NSURL *)url
  65. result:(MOBFImageDataGetterResultHandler)resultHandler;
  66. /**
  67. 获取图片数据
  68. @param url 图片路径
  69. @param allowReadCache 是否允许读取缓存
  70. @param resultHandler 返回事件
  71. @return 服务观察者
  72. */
  73. - (MOBFImageObserver *)getImageDataWithURL:(NSURL *)url
  74. allowReadCache:(BOOL)allowReadCache
  75. result:(MOBFImageDataGetterResultHandler)resultHandler;
  76. /**
  77. * 移除图片观察者
  78. *
  79. * @param imageObserver 图片观察者
  80. */
  81. - (void)removeImageObserver:(MOBFImageObserver *)imageObserver;
  82. /**
  83. * 删除磁盘中缓存中图片
  84. *
  85. * @param url 图片地址
  86. */
  87. - (void)removeImageForURL:(nullable NSURL *)url;
  88. /**
  89. * 删除当前缓存策略下磁盘目录中所有图片
  90. *
  91. */
  92. - (void)clearDisk;
  93. @end