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

nop*_*ole 41 iphone xcode ios

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

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

Dav*_*ood 48

这是我的一个宠儿.

我建议,在文件系统中创建文件夹,然后将文件夹拖到Xcode所在的组中.它将像任何其他组一样工作,但现在链接到文件系统上的文件夹.在Xcode中将文件添加到该组现在将它们添加到文件系统中的文件夹中.

更清晰的工作方式,有助于在大项目中查找文件.保持git清洁.

Xcode 9更新:

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

  • 我只是想知道为什么Xcode不会只是使用文件夹而不是组? (19认同)

Jac*_*nce 35

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

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

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

如果要将组链接到文件夹,请单击项目文件树中的组,然后单击命令+选项+ 1.在右侧下方的"路径:相对于群组"之类的下拉菜单下方,有一个带有灰色边框的白色方块,在"无"字旁边有点图标.单击此按钮然后选择/创建文件夹将该组绑定到该文件夹​​.

文件夹参考

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

添加文件夹引用

  • 但"将组绑定到文件夹"与"创建文件夹引用"不同.后者很特别:它将*文件夹*复制到构建应用程序中. (3认同)
  • 但是,当您想在finder/svn中查找类并且目录结构完全不同时,这很痛苦 (2认同)
  • @htafoya我绝对同意.另一方面,如果您使用组而不是文件夹重新组织一堆文件,则实际源代码中的合并冲突机会较少,因为文件本身不会移动.需要考虑绝对重要的权衡. (2认同)

Nit*_*rad 9

有一个命令行工具 - github中提供的"synx"可以完全满足您的需求.

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

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

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