我有一个UITableView
,其中填充了位于NSDocumentDirectory
的csv文件列表。
我可以按字母顺序加载和排序文件,但希望按创建日期对它们进行排序。
如何按创建日期过滤文件? 我是否必须操纵文件以包含创建日期,或者它们是否已将其作为属性包含?
这是我访问文件的方式:
paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
manager = [NSFileManager defaultManager];
NSMutableArray* fileList = [manager contentsOfDirectoryAtPath:documentsDirectory error:nil];
//--- Listing file by name sort
NSLog(@"\n File list %@",fileList);
//---- Sorting files by extension
NSMutableArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil].mutableCopy;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF EndsWith '.csv'"];
filePathsArray = [filePathsArray filteredArrayUsingPredicate:predicate].mutableCopy;
NSLog(@"\n\n Sorted files by extension %@",filePathsArray);
答案 0 :(得分:1)
您的问题远非明确,但您可能希望根据创建日期对文件名进行排序。
您有一个文件路径,因此可以为其创建NSURL
- 请参阅Apple的documentation。创建NSURL
实例后,您可以使用它来获取有关该文件的信息 - 阅读文档中的访问资源值部分。如果您对创建日期感兴趣,可以使用NSURLCreationDateKey
(documentation)获取该内容。
获取所有文件的创建日期,然后根据这些日期对文件名进行排序。如果你遇到困难,请问一个新的问题,显示你已经知道了什么,哪里出了问题等等,而且有人无疑会有所帮助 - 回到这个问题也是一个好主意。
HTH