| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

网络请求的缓存机制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];      }  }