天天看点

iOS网络编程之六——数据缓存类NSURLCache使用解析

        在前面博客中,介绍了nsurlrequest请求类的相关使用方法,其中有介绍关于请求返回数据的缓存策略,实际上,ios中具体缓存操作的管理是由nsurlcache类来实现的。nsurlrequest类介绍的博客地址如下:

<a href="http://my.oschina.net/u/2340880/blog/624957#">?</a>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

<code>//获取当前应用的缓存管理对象</code>

<code>+ (nsurlcache *)sharedurlcache;</code>

<code>//设置自定义的nsurlcache作为应用缓存管理对象</code>

<code>+ (</code><code>void</code><code>)setsharedurlcache:(nsurlcache *)cache;</code>

<code>//初始化一个应用缓存对象</code>

<code>/*</code>

<code>memorycapacity 设置内存缓存容量</code>

<code>diskcapacity 设置磁盘缓存容量</code>

<code>path 磁盘缓存路径</code>

<code>内容缓存会在应用程序退出后 清空 磁盘缓存不会</code>

<code>*/</code>

<code>- (instancetype)initwithmemorycapacity:(nsuinteger)memorycapacity diskcapacity:(nsuinteger)diskcapacity diskpath:(nullable nsstring *)path;</code>

<code>//获取某一请求的缓存</code>

<code>- (nullable nscachedurlresponse *)cachedresponseforrequest:(nsurlrequest *)request;</code>

<code>//给请求设置指定的缓存</code>

<code>- (</code><code>void</code><code>)storecachedresponse:(nscachedurlresponse *)cachedresponse forrequest:(nsurlrequest *)request;</code>

<code>//移除某个请求的缓存</code>

<code>- (</code><code>void</code><code>)removecachedresponseforrequest:(nsurlrequest *)request;</code>

<code>//移除所有缓存数据</code>

<code>- (</code><code>void</code><code>)removeallcachedresponses;</code>

<code>//移除某个时间起的缓存设置</code>

<code>- (</code><code>void</code><code>)removecachedresponsessincedate:(nsdate *)date ns_available(10_10, 8_0);</code>

<code>//内存缓存容量大小</code>

<code>@property nsuinteger memorycapacity;</code>

<code>//磁盘缓存容量大小</code>

<code>@property nsuinteger diskcapacity;</code>

<code>//当前已用内存容量</code>

<code>@property (readonly) nsuinteger currentmemoryusage;</code>

<code>//当前已用磁盘容量</code>

<code>@property (readonly) nsuinteger currentdiskusage;</code>

<code></code>