2016-05-30 4 views
0

私はUISwitchを持っていて、それがアクティブなら私のUIWebViewはすべての訪問済みウェブサイトをキャッシュする必要があります。UIWebViewでウェブサイトを正しくキャッシュする方法は?

がアクティブなら、私は私のコード私のUISwitchを無効にした場合、私は次のコード

[[NSURLCache sharedURLCache] setDiskCapacity:4 * 1024 * 1024]; 
[[NSURLCache sharedURLCache] setMemoryCapacity:32 * 1024 * 1024]; 
[self setRequestObj:[NSURLRequest requestWithURL:loadUrl cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0]]; 

を持っているが、この

[[NSURLCache sharedURLCache] setDiskCapacity:0]; 
[[NSURLCache sharedURLCache] setMemoryCapacity:0]; 
[self setRequestObj:[NSURLRequest requestWithURL:loadUrl]]; 

ような何かを、私はそれが正常に動作するアクティブにする必要があり、いくつかの方法がありますか?それがオフになっている場合は、すべての呼び出し時にWebサーバーからすべてをロードする必要があります。スイッチがオンになっている場合は、前に訪問した場合はキャッシュからすべてをロードする必要があります。

アプリを閉じてもう一度開くと、Buttonはまだオンになっていますが、アプリが閉じると削除されませんでしたが、キャッシュがないようです。

わかりやすい場合は、Sry;)。

答えて

0

あなたは

// Determile cache file path 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *filePath = [NSString stringWithFormat:@"%@/%@", [paths objectAtIndex:0],@"index.html"]; 

// Download and write to file 
NSURL *url = [NSURL URLWithString:@"http://www.google.co.uk"]; 
NSData *urlData = [NSData dataWithContentsOfURL:url]; 
[urlData writeToFile:filePath atomically:YES]; 

// Load file in UIWebView 
[web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]]; 

あなたはより多くの詳細についてはthis answerを参照することができ、これを試すことができます。

これが役に立ちます。

関連する問題