2013年11月24日日曜日

UIWebViewのキャッシュ



UIWebViewを使用しているときのキャッシュコントロール

//キャッシュを全て消去
[[NSURLCache sharedURLCache] removeAllCachedResponses];

//NSURLRequest作成時にポリシーを設定
NSURLRequest *request = [NSURLRequest requestWithURL:url
                                     cachePolicy:NSURLRequestReturnCacheDataElseLoad
                                     timeoutInterval:30.0];


NSURLRequestCachePolicyの値


NSURLRequestUseProtocolCachePolicy
Protocolのキャッシュポリシーに従う。デフォルト。

NSURLRequestReloadIgnoringLocalCacheData
キャッシュの有効期限にかかわらずurlへアクセス


NSURLRequestReloadIgnoringLocalAndRemoteCacheData
上に加え、proxyなどにもキャッシュ破棄を指示する。

NSURLRequestReturnCacheDataElseLoad
キャシュがあればそれを使用、なければURLへアクセス

NSURLRequestReturnCacheDataDontLoad
キャッシュのみを使用。オフラインと同等の動作。


NSURLRequestReloadRevalidatingCacheData
有効性をチェックし、有効ならキャッシュを使い、無効ならリロード。

0 件のコメント: