我用来清理缓存的代码是:
-(void)removeCache
{
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachePath];
for (NSString *p in files)
{
NSError *error;
NSString *path = [cachePath stringByAppendingPathComponent:p];
if([[NSFileManager defaultManager] fileExistsAtPath:path])
{
[[NSFileManager defaultManager] removeItemAtPath:path error:&error];
}
}
}
它在iOS 7和iOS 8上都可以正常工作,但是在iOS 9和iOS 10上却不起作用。在iOS 9和iOS 10上缓存。
我真的很好奇为什么它在iOS 7和iOS 8上能正常工作,但是在iOS 9和iOS 10上却无法工作。
我的项目中有一个名为EGOImageView的三部分,它将缓存图像,因此清除缓存的正确方法是使用EGOImage自己的清除方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句