口袋优选

YBCacheTool.h 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // YBCacheTool.h
  3. // ZCWL
  4. //
  5. // Created by ios-dev on 16/3/22.
  6. // Copyright © 2016年 com.zcwljs.cnge.app. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. typedef NS_ENUM(NSUInteger, YBCacheType){
  10. YBCacheTypeReturnCacheDataThenLoad = 0,///< 有缓存就先返回缓存,同步请求数据
  11. YBCacheTypeReloadIgnoringLocalCacheData, ///< 忽略缓存,重新请求
  12. YBCacheTypeReturnCacheDataElseLoad,///< 有缓存就用缓存,没有缓存就重新请求(用于数据不变时)
  13. YBCacheTypeReturnCacheDataDontLoad,///< 有缓存就用缓存,没有缓存就不发请求,当做请求出错处理(用于离线模式)
  14. YBCacheTypeReturnCacheDataExpireThenLoad///< 有缓存就用缓存,如果过期了就重新请求 没过期就不请求
  15. };
  16. @interface YBCacheTool : NSObject
  17. /**
  18. * 缓存数据
  19. *
  20. * @param fileName 缓存数据的文件名
  21. *
  22. * @param data 需要缓存的二进制
  23. */
  24. + (void)cacheForData:(NSData *)data fileName:(NSString *)fileName;
  25. /**
  26. * 取出缓存数据
  27. *
  28. * @param fileName 缓存数据的文件名
  29. *
  30. * @return 缓存的二进制数据
  31. */
  32. + (NSData *)getCacheFileName:(NSString *)fileName;
  33. /**
  34. * 判断缓存文件是否过期
  35. */
  36. + (BOOL)isExpire:(NSString *)fileName;
  37. /**
  38. * 获取缓存的大小
  39. *
  40. * @return 缓存的大小 单位是B
  41. */
  42. + (NSUInteger)getSize;
  43. /**
  44. * 清除缓存
  45. */
  46. + (void)clearCache;
  47. @end