如何从objective-c中的文档目录中删除旧文件?

Syl*_*sot -2 cocoa objective-c nsdocumentdirectory

我想从~documentsobjective-c中的用户目录中删除旧文件(15天或更早).有没有办法知道文件何时被创建并随后删除它们?

Ale*_*ing 5

我不完全理解你的问题,但我会假设你想要一种方法让Mac应用程序识别旧文件并删除它们.如果是这样,试试这个:

NSFileManager *fileManager = [[NSFileManager alloc] init];
NSArray *files = [fileManager contentsOfDirectoryAtPath:@"/samplePath/" error:NULL];

for (NSString *path in files) {
    BOOL isDir;
    if ([fileManager fileExistsAtPath:path isDirectory:&isDir] && !isDir) {
        NSDictionary *attr = [fileManager attributesOfItemAtPath:path error:NULL];
        NSDate *modDate = [attr objectForKey:NSFileModificationDate];
        //Do date math
    }
}
Run Code Online (Sandbox Code Playgroud)

这将获得目录中每个日期的日期(只需@"/samplePath"用实际路径替换字符串).然后,您可以进行日期数学运算,以查找它被修改的时间.或者,您可以替换NSFileModificationDateNSFileCreationDate时创建的文件来获得.