我想做的事情似乎很简单:在我的应用程序的给定“目录”中获取一组文件名。但是我越是使用NSFileManager和NSBundle,我发现自己越来越迷失......我只是想在我的iPhone Xcode项目中获取组织在特定目录中的文件的文件名...例如:有问题的目录是称为“图像”(使用Xcode中项目图标下的“添加>新组”创建)并包含10个.png图像。这似乎很简单,但我无处可去。我很感激找到答案的一些帮助。
问:如何获取应用中给定目录中所有文件的NSArray文件名?
答案 0 :(得分:29)
如果您希望文件夹成为App捆绑包的一部分,则需要在Resources组中创建一个文件夹引用,而不是组(它将在Xcode中显示为蓝色文件夹而不是黄色文件夹)
要执行此操作,请从Finder中拖动文件夹,并在出现提示时选择文件夹参考。
一旦你有了这个,你应该能够获得文件夹的内容:
NSError *error = nil;
NSString *yourFolderPath = [[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:@"YourFolder"];
NSArray *yourFolderContents = [[NSFileManager defaultManager]
contentsOfDirectoryAtPath:yourFolderPath error:&error];
答案 1 :(得分:9)
已接受的答案已被弃用多年了。应该使用以下内容。
- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error
更新:@macserv在我发布后更新了接受的答案。
答案 2 :(得分:1)
如今,你就是这样做的:
做这篇文章的解决方案告诉你要做什么。我的意思是:
NSError * error = nil;
NSString * yourFolderPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@ “YourFolder”];
NSArray * yourFolderContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:yourFolderPath错误:& error];