我的应用必须从网上下载许多图片。所以我想提供一个按钮来清除这些图像的缓存。
/Library/Caches
?我假设存在于/ Library / Caches中。所以我试图通过以下方式删除这些文件:
filemgr = [NSFileManager defaultManager];
NSError *error;
[filemgr removeItemAtPath: [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] error:&error]
// OR
[filemgr removeItemAtPath:[NSHomeDirectory() stringByAppendingString:@"/Library/Caches"] error:&error];
iOS设备中的The operation couldn’t be completed. (Cocoa error 513.)
均出错,但在模拟器中有效。
谢谢你的回答!
答案 0 :(得分:1)
您无法删除“/ Library / Caches”。您需要删除“/ Library / Caches”中的所有项目
NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
for (NSString *filePath in [[NSFileManager defaultManager] enumeratorAtPath:path])
{
NSError *error = nil;
[[NSFileManager defaultManager] removeItemAtPath:[path stringByAppendingPathComponent:filePath] error:&error];
if (error)
{
NSLog(@"%@",error.description);
}
}
答案 1 :(得分:0)
您无法删除直接缓存文件夹。您必须解析Cache文件夹中的每个文件并将其删除。
感谢。