iOS - 返回与命名方案匹配的文件数

时间:2011-10-11 17:27:31

标签: iphone ios ipad file uiimage

是否有一种简单的方法可以返回符合设定命名方案的大量文件?试图制作便宜又简单的图像序列播放器。我已经完成了繁重的工作,但目前必须将每个序列中的文件数传递给它,这是一个很难更新。

  

例如

     

Image1_000 Image1_001 Image2_000 Image2_001 Image2_002

因此,如果命名方案设置为Image2_,它将返回3,如果命名方案设置为Image1_,则返回2.

2 个答案:

答案 0 :(得分:2)

您可以在NSPredicate的帮助下轻松实现这一点,您可以在其中定义正则表达式,如语法。这种情况如下:

NSString *bundleRoot = [[NSBundle mainBundle] bundlePath];
NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:bundleRoot error:nil];
NSArray *onlyImagesStartWithTwo = [dirContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self BEGINSWITH 'Image2_'"]];

NSArray *onlyImagesStartWithTwo将包含以Image2_开头的所有图片。

希望这会有所帮助......

答案 1 :(得分:0)

如果这些是NSArray中的NSStrings:

int counter = 0;
for (NSString *str in strArray) {
    if ([[[str componentsSeperatedByString:@"_"] objectAtIndex:0] isEqualToString:namingScheme]){
        counter++;
    }
}