是否有一种简单的方法可以返回符合设定命名方案的大量文件?试图制作便宜又简单的图像序列播放器。我已经完成了繁重的工作,但目前必须将每个序列中的文件数传递给它,这是一个很难更新。
例如
Image1_000 Image1_001 Image2_000 Image2_001 Image2_002
因此,如果命名方案设置为Image2_,它将返回3,如果命名方案设置为Image1_,则返回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++;
}
}