iOS 清除缓存
Posted fantasy3588
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 清除缓存相关的知识,希望对你有一定的参考价值。
- (void)clearDisk
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *path = [paths lastObject];
NSString *str = [NSString stringWithFormat:@"缓存已清除:%.1fM",[self folderSizeAtPath:path]];
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];
}
}
[PFTool alertWithTitle:@"温馨提示" message:str button:0 done:nil];
}
- (float ) folderSizeAtPath:(NSString*) folderPath
{
NSFileManager *manager = [NSFileManager defaultManager];
if (![manager isExecutableFileAtPath: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);
}
- (long long) fileSizeAtPath:(NSString*) filePath
{
NSFileManager* manager = [NSFileManager defaultManager];
if ([manager fileExistsAtPath:filePath]){
return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
}
return 0;
}
以上是关于iOS 清除缓存的主要内容,如果未能解决你的问题,请参考以下文章