网络请求的缓存机制cachePolicy 和缓存的清理详解手机开发

- (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]; 
    } 
} 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/3292.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论