0

我正在寻找最简单的默认解决方案。目前,我有一个关于视图控制器的视图控制器,其中显示了来自某个 url 的一些信息。我需要缓存它以供离线使用,并且缓存应该在一段时间后更新,例如一周后。目前,我正在使用 NSURLRequestReturnCacheDataElseLoad 缓存策略,但不知道如何设置缓存过期和缓存更新时间:

- (void)viewDidLoad
{
  [super viewDidLoad];
   // Do any additional setup after loading the view from its nib.

   NSString *urlString = [NSString stringWithFormat:@"%@%@", kServiceBaseUrl, @"docs/about_en.html"];

   NSURL *url = [NSURL URLWithString:urlString];
   NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];

   [self.webView loadRequest:request];
}

我已经阅读了几篇建议手动缓存处理(获取 NSData、保存、检查和加载)的帖子。但也许有更直接和简单的解决方案?

4

1 回答 1

1

您可以像这样手动清除缓存:

[[NSURLCache sharedURLCache] removeAllCachedResponses];

至于过期和处理选项,请在此处查看处理缓存的 NSURLRequest 类参考。

您可以从此处的 Apple URL 加载系统编程指南中获得有关了解缓存访问的详细说明。

于 2013-06-20T15:02:12.247 回答