为什么在Xcode中,可以创build组,但不是真正的文件夹?

在进行iOS编程时,有趣的是,在Xcode(4.3.2)中,我们可以创build组,例如组调用Images ,并向其添加文件(作为链接或select“将项目复制到组的文件夹中”)。 所以它看起来像是导航器中的一个真实的文件夹,它甚至提到“复制到…组的文件夹 ”,但实际上没有文件夹。 所有添加的文件与.m.h文件位于相同的位置。

我们为什么要组,但不是真正的文件夹? 群组的优势在于使用文件夹吗?

推荐的组织文件的方式是通过组,因为它比创build目录更灵活,并允许您创build复杂的文件层次结构,同时在文件系统上维护完全不同的文件层次结构。 这只是一个组织工具。 也就是说,可以将组转换成文件夹引用,或者将其初始创build为文件夹引用。

此外,如果您需要更改文件系统中的事物,则使用组而不是文件夹引用可为您提供更大的灵活性 – 例如,您拥有用于众多不同项目的通用代码文件夹。 组允许您在项目中组织文件,就好像它们在项目中一样,同时仍将代码的一个副本保留在中心位置。 是的,您也可以使用文件夹引用来做到这一点,但是如果您稍后想要将其他内容添加到同一个组中,但不希望将它们添加到该常用文件夹中,那么组更加灵活。

如果要将组链接到文件夹,请单击项目文件树中的组,然后按命令+选项+ 1。 在下拉菜单的右下方会显示“Path:Relative to Group”的字样,旁边有一个灰色边框的白色正方形,旁边有一个“none”字样的图标。 点击这个,然后select/创build一个文件夹将组绑定到该文件夹​​。

文件夹参考

而且,当你将一个文件夹拖入Xcode时,它会询问你是否希望它成为一个组或一个文件夹引用:

添加文件夹引用

这是我的宠物。

我build议,在你的文件系统中创build文件夹,在那里你有你的项目文件,然后将该文件夹拖到你想要的组的Xcode。 它将像任何其他组一样,但是现在可以链接到文件系统上的文件夹。 在Xcode中将文件添加到该组现在将它们添加到文件系统中的文件夹中。

更清洁的工作方式,并帮助在大型项目中查找文件。 保持git清洁。

更新Xcode 9:

一旦Xcode中的组与磁盘上的目录结构匹配,在Xcode中将文件从一个组移动到另一个组将会在磁盘上正确移动文件以匹配。

有一个命令行工具 – “synx”在github中可用,完全符合你的需求。

它重新组织查找器中的Xcode项目文件夹以匹配项目中的Xcode组。

你可以在这里find它: https : //github.com/venmo/synx