网络请求的缓存机制cachePolicy 和缓存的清理

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    //    缓存会自动存到以下这个文件夹中,创建三个文件,其中db文件可以使用数据库打开
    NSString * tem = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];
    NSLog(@"%@", tem);
    
    //    开始请求数据
    NSString * path = @"http://localhost/netTest.html";
    NSURL * url = [NSURL URLWithString:path];
    
    NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:url];
    
//    设置缓存机制,只要这一句代码就可以了
    request.cachePolicy = NSURLRequestReturnCacheDataElseLoad;
    
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
        
        NSString * str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"%@", str);
    }];
    
    
    
//    缓存的清理
    NSURLCache * caches = [NSURLCache sharedURLCache];
    NSCachedURLResponse * response = [caches cachedResponseForRequest:request];
    if (response == nil)
    {
        NSLog(@"没有缓存");
    }
    else
    {
        NSLog(@"有缓存");
        [caches removeAllCachedResponses];
    }
}