如何在 xcode 4.2 的 Supporting Files 中获取文件夹中的文件?

Posted

技术标签:

【中文标题】如何在 xcode 4.2 的 Supporting Files 中获取文件夹中的文件?【英文标题】:How to get the files inside a folder in Supporting Files in xcode 4.2? 【发布时间】:2012-06-29 10:28:16 【问题描述】:

我已完成以下步骤。 1.创建了一个xcode项目,并在Supporting Files里面创建了一个名为“Images”的文件夹。

    将 4 张图片拖放到其中。尝试使用以下代码访问这些文件

    NSString *pathString = [[NSBundle mainBundle] pathForResource:@"Images" ofType:nil];
    NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:pathString error: nil];
    NSLog(@"the fileList is %d",[fileList count]);
    

计数始终为 0。我现在该怎么办?里面有文件,我可以在 imageviews 中使用它。

那么我犯了什么错误?

【问题讨论】:

任何东西,现在我只希望计数至少为 +1。 应用程序包不会为您在 xcode 中的任何资源创建任何文件夹/子文件夹。 好的,我知道。但是,我怎样才能区分不同文件夹中的某些文件。没有办法吗? 虽然我在下面的回答中已经解释过了,但你必须参考这个链接:mobiledevelopertips.com/xcode/… 【参考方案1】:

Xcode 不会在您的应用程序包中生成任何与组对应的文件夹。添加的任何资源都存在于目标构建阶段的 Copy Bundle Resources 中。然后,您可以在 [[NSBundle mainBundle] bundlePath] 路径下访问您的资源。

但是,如果您想计算任何文件夹下的文件,那么在添加该文件夹时,您必须检查该选项:

“为任何添加的文件夹创建文件夹引用。”

这将在您添加它们时在同一层次结构中创建文件夹和子文件夹。然后您可以轻松地以与上面相同的方式对它们进行计数...

否则,应用程序包会将您的所有资源放在一个位置,而不是您所说的“图像”中的任何文件夹中。使用以下代码:

NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle mainBundle] resourcePath] error: nil];
NSLog(@"the fileList is %d",[fileList count]);

它会列出你所有的资源。

【讨论】:

【参考方案2】:

试试这个,

NSString *imagespath = [[NSBundle mainBundle] pathForResource:"yourimagename" ofType:@"png" inDirectory:@"images"];

【讨论】:

以上是关于如何在 xcode 4.2 的 Supporting Files 中获取文件夹中的文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 4.2 中设置外部编辑器

Xcode 4.2 如何将一个项目包含到另一个项目中?

如何在 Xcode 4.0.2 中使用 iOS SDK 4.2

如何从 xcode 4.2 创建应用商店构建?

如何在 xCode 4.2 中为两个方向正确设置 iPad 启动图像

xcode 4.2标签项在哪里