41

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

为什么我们想要组,而不是真正的文件夹?组比使用文件夹有优势吗?

4

3 回答 3

48

这是我的一个小烦恼。

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

在大型项目中定位文件时,工作方式更加简洁,并有帮助。也保持 git 更清洁。

Xcode 9 更新:

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

于 2012-04-28T22:28:45.287 回答
35

注意:在 Xcode 10 中,默认行为现在会在您创建新组时创建链接文件夹。以下信息在其他情况下仍然适用。

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

此外,如果您需要更改文件系统中的内容,使用组而不是文件夹引用可以为您提供更大的灵活性 - 假设您有一个在一堆不同项目中使用的通用代码文件夹。组允许您像在项目中一样组织项目内部的文件,同时仍将代码的一份副本保留在中心位置。是的,您也可以使用文件夹引用来执行此操作,但是如果您以后想要将其他内容添加到同一组但不希望将它们添加到该公共文件夹中,则组会更加灵活。

如果要将组链接到文件夹,请单击项目文件树中的组,然后按命令+选项+1。在下拉菜单下方,右侧会显示“路径:相对于组”之类的内容,在“无”一词旁边有一个带有灰色边框的白色小方块。单击此按钮然后选择/创建文件夹会将组绑定到文件夹。

文件夹参考

此外,当您将文件夹拖入 Xcode 时,它​​会询问您是否希望它成为组或文件夹引用:

添加文件夹引用

于 2012-04-28T23:05:56.063 回答
9

github中有一个命令行工具-“synx” ,可以完全满足您的需求。

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

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

更新:XCode 9 默认支持此功能。所以,不再需要使用其他工具了!

于 2015-04-22T06:26:30.487 回答