目标c iOS文件结构混乱

时间:2013-08-19 11:28:35

标签: ios xcode file filesystems nsbundle

我刚接触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 / Application Support / iPhone Simulator / 6.1 / Applications / AXX9-19B3-4B4D-9FD4-8x9xx4499 / FTF.app / pic0101P.png

我认为我必须对发生的事情有一个基本的困惑。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:1)

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

如果你想让自己成为真正的文件夹,那也可以 - 参考this question

答案 1 :(得分:0)

您正在研究的是Xcode项目结构,MAC OS X文件系统结构,iOS应用程序文件系统结构以及在构建期间实际复制到应用程序的文件之间的区别。

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

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

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