如何从mainBundle中的文件夹中提取图像到数组?

时间:2012-09-20 12:06:29

标签: objective-c xcode directory mainbundle

在我的应用包中,我有几个项目的几张图片。

ItemA_largepicture.png

ItemA_smallPicture.png

ItemA_overViewPicture.png

ItemB_largepicture.png

ItemB_smallPicture.png

ItemB_overViewPicture.png

ItemC_largepicture.png

ItemC_smallPicture.png

ItemC_overViewPicture.png

...

我想将所有ItemB图片提取到一个数组中。我可以像 Prince 建议那样做

NSString *bundleRootPath = [[NSBundle mainBundle] bundlePath];
NSArray *bundleRootContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:bundleRootPath error:nil];
NSArray *files = [bundleRootContents filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self beginswith 'ItemB'"]];
NSLog(@"%@",files);

这非常有效。下一个问题是所有ItemB文件都在名为ItemB的文件夹中。不知何故,我需要在bundle中添加一个到ItemB文件夹的路径。我想

NSString *bundleRootPath = [[NSBundle bundleWithPath:@"ItemB"] bundlePath];

是合乎逻辑的,但这不起作用。 任何人都可以解释一下这是如何工作的,以及如何访问该文件夹?

1 个答案:

答案 0 :(得分:1)

NSString *bundleRootPath = [[NSBundle mainBundle] bundlePath];
NSString *itemBPath = [bundleRootPath stringByAppendingPathComponent:@"ItemB"];
NSArray *itemBContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:itemBPath error:nil];