1

我刚接触 iOS,对文件的管理方式感到非常困惑。

在我的项目中,我已经设置了目录,所以我在 xcode 中有:

支持文件
。设置 1
..pic0101N.png
..pic0102N.png
。设置 2
..pic0201N.png
..pic0202N.png
等..

同样在我的应用程序所在的文件结构中(在我的桌面上名为 FTF 的文件夹中),我有一个名为 images 的目录和一个用于 Set 1、Set 2 等的子目录

当我在 Xcode 中单击图像时,完整路径列为:/Users/MyName/Desktop/FTF/FTF/images/Set 1/pic0101N.png

我的问题是,如何获取 Set 1 文件夹中所有图像的列表?

我尝试了各种使用方式: [NSBundle mainBundle] 但是,归根结底,我的路径似乎是:

/Users/MyName/Library/Application Support/iPhone Simulator/6.1/Applications/Axxxx1E9-19B3-XXX-XXXX-xxX5xXxX4x9/FTF.app

而且这里似乎没有我的任何文件结构,就像文件在那里但不在任何目录中一样,它们似乎都是一堆文件。

NSArray *namesArray = [[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:@""];

生成所有 PNGS 的列表,如下所示:
/Users/MyName/Library/Application Support/iPhone Simulator/6.1/Applications/Axxx81E9-19B3-4B4D-9FD4-XXXXX4499/FTF.app/pic0101N.png /Users/MyName/Library /应用程序支持/iPhone模拟器/6.1/Applications/AXX9-19B3-4B4D-9FD4-8x9xx4499/FTF.app/pic0101P.png

我想我一定对正在发生的事情有一个基本的困惑。有人可以帮我吗?

4

2 回答 2

1

那是因为 Xcode 没有帮助(和/或它假设开发人员是愚蠢的)并且无论何时创建一个组,它只反映在项目结构中 - 文件系统上没有物理创建相应的文件夹。

如果您想获得真正的文件夹,那也是可能的 - 请参阅此问题

于 2013-08-19T11:35:04.810 回答
0

您正在查看的是 Xcode 项目结构、MAC OS X 文件系统结构、iOS 应用程序文件系统结构以及在构建过程中实际复制到应用程序的文件之间的区别。

首先,将文件放在 Mac OS X 上的某个位置并不意味着它们将位于项目或应用程序中的任何类似位置。

iOS 应用程序是一组内容(链接),其中一些内容不可编辑,由 Xcode 在构建应用程序时设置,而其中一些内容可以写入(如应用程序文档目录)。复制到应用程序的文件由build phasesXcode 中的设置控制。

您使用NSBundle的方式是查找和使用在构建期间复制到应用程序的资源的正确方式。

于 2013-08-19T11:42:22.483 回答