我为iOS创建了一个应用。在这个应用程序中,我有一个与我的主页链接的webview。但是:总有相同的内容,就像应用程序的第一次启动一样。当我在主页或其中的任何链接更改内容时,我的iOS设备上的内容无法更改。也许它保存在缓存中?注意:虽然我在主页上更改了某些内容,但webview中始终存在相同的内容。我认为这是缓存?!
如何禁用缓存?或者更好的是,缓存应该自动清除,例如在应用程序启动时。
有人可以帮帮我吗?
这是我在ViewContoller.m中的代码
#import "ViewController.h"
@implementation ViewController
-(IBAction)refresh:(id)sender; {
NSURL *url=[NSURL URLWithString: @"http://examle.com"]; NSURLRequest * requestURL=[NSURLRequest requestWithURL:url]; [_site loadRequest:requestURL];
}
- (void)viewDidLoad {
[self refresh:self];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Plan" ofType:@"pdf"];
NSURL *url = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[_ImageInWebView loadRequest:request];
[_ImageInWebView setScalesPageToFit:YES];
path = [[NSBundle mainBundle] pathForResource:@"Book" ofType:@"pdf"];
url = [NSURL fileURLWithPath:path];
request = [NSURLRequest requestWithURL:url];
[_PDFInWebView loadRequest:request];
[_PDFInWebView setScalesPageToFit:YES];
[super viewDidLoad];
_myBotton.layer.borderWidth =2.0f;
_myBotton.layer.borderColor = [[UIColor redColor]CGColor];
}
答案 0 :(得分:1)
我是iOS developer,我建议您不要完全禁用缓存,因为它会对您的应用的性能产生负面影响。您可以首先在应用程序中使用此代码配置缓存限制: DidFinishLaunchingWithOptions:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
int cacheSizeMemory = 4*1024*1024; // 4MB
int cacheSizeDisk = 32*1024*1024; // 32MB
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@"nsurlcache"];
[NSURLCache setSharedURLCache:sharedCache];
// ... other launching code
}
然后在需要清除缓存时使用命令:
[[NSURLCache sharedURLCache] removeAllCachedResponses] .