-1

如何获取整个 IOS 目录中扩展名为 .png、.ext、.annotate...的文件数??我试过这个:

NSFileManager * filemgr = [NSFileManager defaultManager];
NSArray * filelist = [filemgr directoryContentsAtPath:yourPath error:nil];
int count = [filelist count];
NSLog("%d", count);

但它给出了总数,而不仅仅是带有扩展名的文件之一

4

1 回答 1

0

您可以使用NSPredicate来过滤数组filteredArrayUsingPredicate:

NSArray *extensions = @[@"png", @"ext", @"annotate"];
filelist = [filelist filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"pathExtension IN %@", extensions]];

您的问题不清楚您是否希望一次(上面的代码)或每个指定扩展名的组合计数。那可能是

NSArray *extensions = @[@"png", @"ext", @"annotate"];
for(NSString *ext in extensions) {
    filelist = [filelist filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"pathExtension LIKE %@", ext]];
    NSLog(@"%d", [filelist count])
}
于 2013-09-08T22:26:36.507 回答