你的位置:首页 > 软件开发 > 操作系统 > iOS 清理缓存功能的实现第二种方法

iOS 清理缓存功能的实现第二种方法

发布时间:2015-10-13 12:00:13
/** * 清理缓存第二种方法 * * @param sender <#sender description#> */- (void)clearCache:(id)sender{ //彻底清除缓存第一种方法 UIButton * button = sender; ...
/** * 清理缓存第二种方法 * * @param sender <#sender description#> */- (void)clearCache:(id)sender{  //彻底清除缓存第一种方法  UIButton * button = sender;  [button setTitle:@"清理完毕" forState:UIControlStateNormal];  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);  NSString *path = [paths lastObject];    NSString *str = [NSString stringWithFormat:@"缓存已清除%.1fM", [self folderSizeAtPath:path]];  NSLog(@"%@",str);  NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:path];  for (NSString *p in files) {    NSError *error;    NSString *Path = [path stringByAppendingPathComponent:p];    if ([[NSFileManager defaultManager] fileExistsAtPath:Path]) {      [[NSFileManager defaultManager] removeItemAtPath:Path error:&error];    }  }}/** * 计算单个文件大小 */- (long long) fileSizeAtPath:(NSString*) filePath{  NSFileManager* manager = [NSFileManager defaultManager];  if ([manager fileExistsAtPath:filePath]){    return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];  }  return 0;}/** * 计算目录大小 遍历文件夹获得文件夹大小,返回多少M */- (float ) folderSizeAtPath:(NSString*) folderPath{  NSFileManager* manager = [NSFileManager defaultManager];  if (![manager fileExistsAtPath:folderPath]) return 0;  NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];  NSString* fileName;  long long folderSize = 0;  while ((fileName = [childFilesEnumerator nextObject]) != nil){    NSString* fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];    folderSize += [self fileSizeAtPath:fileAbsolutePath];  }  return folderSize/(1024.0*1024.0);}

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:iOS 清理缓存功能的实现第二种方法

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。