天天看點

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>