一、引言
在前面部落格中,介紹了NSURLRequest請求類的相關使用方法,其中有介紹關于請求傳回資料的緩存政策,實際上,iOS中具體緩存操作的管理是由NSURLCache類來實作的。NSURLRequest類介紹的部落格位址如下:
iOS中NSURLRequest相關使用:
http://my.oschina.net/u/2340880/blog/620225。
二、NSURLCache中方法與屬性
//擷取目前應用的緩存管理對象
+ (NSURLCache *)sharedURLCache;
//設定自定義的NSURLCache作為應用緩存管理對象
+ (void)setSharedURLCache:(NSURLCache *)cache;
//初始化一個應用緩存對象
/*
memoryCapacity 設定記憶體緩存容量
diskCapacity 設定磁盤緩存容量
path 磁盤緩存路徑
内容緩存會在應用程式退出後 清空 磁盤緩存不會
*/
- (instancetype)initWithMemoryCapacity:(NSUInteger)memoryCapacity diskCapacity:(NSUInteger)diskCapacity diskPath:(nullable NSString *)path;
//擷取某一請求的緩存
- (nullable NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request;
//給請求設定指定的緩存
- (void)storeCachedResponse:(NSCachedURLResponse *)cachedResponse forRequest:(NSURLRequest *)request;
//移除某個請求的緩存
- (void)removeCachedResponseForRequest:(NSURLRequest *)request;
//移除所有緩存資料
- (void)removeAllCachedResponses;
//移除某個時間起的緩存設定
- (void)removeCachedResponsesSinceDate:(NSDate *)date NS_AVAILABLE(10_10, 8_0);
//記憶體緩存容量大小
@property NSUInteger memoryCapacity;
//磁盤緩存容量大小
@property NSUInteger diskCapacity;
//目前已用記憶體容量
@property (readonly) NSUInteger currentMemoryUsage;
//目前已用磁盤容量
@property (readonly) NSUInteger currentDiskUsage;