如何获取应用程序中给定目录中所有文件的文件名 NSArray?
-
13-09-2019 - |
题
我想做的事情看起来很简单:获取我的应用程序上给定“目录”中的文件名数组。但是我越多地使用 NSFileManager 和 NSBundle,我发现自己越迷失...我只想获取在我的 iPhone Xcode 项目中的特定目录中组织的文件的文件名...例如:有问题的目录称为“Images”(使用 Xcode 中项目图标下的“Add > New Group”创建),包含 10 个 .png 图像。这看起来很简单,但我一无所获。我希望能得到一些帮助来找到答案。
问: 如何获取应用程序中给定目录中所有文件的文件名 NSArray?
解决方案
如果你想要的文件夹是应用程序包的一部分,你需要的,而不是一组创建资源组中的文件夹参考,(它会在Xcode显示为一个蓝色的文件夹,而不是黄色的)
要做到这一点,在提示时拖动从搜索和选择的文件夹参照的文件夹。
一旦你的,你应该能够像获得该文件夹的内容:
NSError *error = nil;
NSString *yourFolderPath = [[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:@"YourFolder"];
NSArray *yourFolderContents = [[NSFileManager defaultManager]
contentsOfDirectoryAtPath:yourFolderPath error:&error];
其他提示
接受的答案一直在现在已废弃多年。以下应被代替使用。
- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error
更新:更新@macserv接受的答案我张贴此之后。
如今,您可以这样做:
- 从 Finder 中,将文件夹拖放到项目的导航器中,然后将显示下一个弹出窗口:
- 正如您在屏幕截图中看到的,您必须选择 创建文件夹引用.
执行本文的解决方案告诉您的操作。我是说:
NSError *错误= nil;
nsString *yourFolderPath = [[[[NSBundle Mainbundle] ResourcePath] stringByAppendingPathComponent:@“ yourfolder”];
nsArray *yourfolderContents = [[[nsfileManager defaultManager] contentsofdirectoryatpath:yourFolderPath错误:&error];
不隶属于 StackOverflow