我有一个UISwitch
,如果它有效,我的UIWebView
应该缓存所有访问过的网站。
如果它处于活动状态,我有以下代码
[[NSURLCache sharedURLCache] setDiskCapacity:4 * 1024 * 1024];
[[NSURLCache sharedURLCache] setMemoryCapacity:32 * 1024 * 1024];
[self setRequestObj:[NSURLRequest requestWithURL:loadUrl cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0]];
如果我停用了UISwitch
我的代码,请执行以下操作
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[self setRequestObj:[NSURLRequest requestWithURL:loadUrl]];
是否有一些方法我必须激活才能正常工作?如果它被关闭,它应该在每次通话时从Web服务器加载所有内容。如果它已经打开,它应该从他的缓存加载所有内容,如果他之前访问过它。
如果我关闭应用并再次打开它,我的Button
仍然打开,似乎没有缓存,但如果我关闭我的应用程序时没有删除它。
如果理解起来很复杂,那么。)。
答案 0 :(得分: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了解更多详情。
希望这会有所帮助:)