如何在 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.0.2 中使用 iOS SDK 4.2