你可以从文件夹内容构建一个项目数组吗?

时间:2010-07-18 14:24:47

标签: iphone objective-c nsarray plist dry

假设我的项目中有一个文件夹,其中包含许多png文件(或mp3文件或mov文件等)。

我想创建一个NSArray,其中填充了该文件夹中的项目...例如,图像文件夹的UIImages数组(或者只是图像名称的NSStrings数组)。

这可能吗?我知道我可以创建一个包含所有名称的plist,或者在代码中单独命名项目,但这会打破DRY(不要重复自己)规则。 有没有人解决过这个问题?

2 个答案:

答案 0 :(得分:5)

尝试NSFileManager的

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error

答案 1 :(得分:1)

或者,如果您的资源位于应用包中,请使用

中的-[NSBundle pathsForResourcesOfType:inDirectory:]
 NSArray* mp3s=[[NSBundle mainBundle] pathsForResourcesOfType:@"mp3" inDirectory:nil];

nil传递给目录参数默认为iPhone上应用程序包中的顶级,OS X中的Resources/