2013-06-20 55 views
0

我正在尋找最簡單的默認解決方案。目前,我有一個關於視圖控制器,其中一些關於來自某個url的信息顯示。我需要將其緩存爲離線使用,並且應在一段時間後更新緩存,例如一週後。目前,我使用NSURLRequestReturnCacheDataElseLoad緩存策略,但不知道如何設置緩存過期和緩存更新時間:如何在使用UIWebView和NSURLRequest時設置緩存過期時間?

- (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的獲取,保存,檢查和負荷)建議。但也許有更直接簡單的解決方案?

回答

1

您可以手動清除緩存這樣的:

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 

至於過期和處理選項,看看在的NSURLRequest類參考處理緩存here

您可以從Apple URL加載系統編程指南here中瞭解Cache Access的詳細說明。

+0

所以,我仍然需要手動保存,加載和清理緩存:)正在尋找瀏覽器類型的功能,如緩存一週。 – Centurion

相關問題