Objective-c清除缓存NSCachedURLResponse

时间:2015-04-14 12:51:30

标签: ios objective-c caching

我运行此代码是因为我认为我遇到了缓存问题:

NSCachedURLResponse *response = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
    if(response){
        NSLog(@"Got Response");
    }else{
        NSLog(@"No Response");
    }

我的问题是如何清除请求网址的缓存?

2 个答案:

答案 0 :(得分:1)

NSURLRequest具有cachePolicy属性,该属性指定请求的缓存行为。

在发出请求时设置以下缓存策略 NSURLRequestReloadIgnoringLocalCacheData ,例如bellow将从网址加载数据,而不是从缓存加载数据。

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:10];
  

NSURLRequestReloadIgnoringLocalCacheData

     

指定应从中加载URL加载的数据   起源。不应使用现有的缓存数据来满足a   网址加载请求。

https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURLRequest_Class/index.html#//apple_ref/c/tdef/NSURLRequestCachePolicy

答案 1 :(得分:0)

使用removeCachedResponseForRequest:NSURLCache类的方法。

Documentation link