按添加时间删除NSCachesDirectory文件

时间:2014-05-20 06:42:41

标签: ios iphone ipad

所以我是NSCachesDirectory来存储用户查看过的“ x ”最新图像的图像数据。我希望NSCachesDirectory以编程方式删除超过“ x ”总文件数的所有文件。

我想这样做,以便首先删除最早按时间/日期添加的图像。有没有办法在不知道我想要删除的文件名的情况下执行此操作?我知道删除某个文件我可以执行以下操作:

NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *mainPath    = [myPathList  objectAtIndex:0];

mainPath = [mainPath stringByAppendingPathComponent:DirectoryName];

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
BOOL fileExists = [fileManager fileExistsAtPath:mainPath];

if (fileExists)
{
     BOOL success = [fileManager removeItemAtPath:mainPath error:&error];
     if (!success) NSLog(@"Error: %@", [error localizedDescription]);

}

但将此扩展到我的用例已被证明是一项挑战。

1 个答案:

答案 0 :(得分:0)

当您有删除用户缓存数据的逻辑时,最好自己进行实现,因为您最清楚要删除的内容。

Apple File documentation,了解有关存储文件的一些详细信息,并具有用于备份的特殊属性。