2012-04-28 138 views
36

在進行iOS編程時,有趣的是,在Xcode(4.3.2)中,我們可以創建組,例如組呼叫Images,並向其中添加文件(作爲鏈接或選擇「將項目複製到組的文件夾中」 )。所以它看起來像導航器中的一個真實文件夾,它甚至提到「複製到...組的文件夾」,但實際上沒有文件夾。所有添加的文件與.m.h文件位於相同的位置。爲什麼在Xcode中可以創建組,但不是真正的文件夾?

我們爲什麼要組,但不是真正的文件夾?羣組在使用文件夾方面有優勢嗎?

+0

你都可以做。 – 2012-04-28 22:26:55

+2

至少當我右鍵點擊項目的文件夾,有「新組」的選擇,但不是「新文件夾」 – 2012-04-28 22:29:07

回答

31

推薦的方式來組織文件是通過羣體,因爲它比創建目錄更靈活,並允許您創建複雜的文件層次,同時保持在文件系統上的完全不同的文件層次。這只是一個組織工具。也就是說,可以將組轉換爲文件夾引用,或者最初將其創建爲文件夾引用。

此外,如果您需要更改文件系統中的事物,使用組而不是文件夾引用可爲您提供更大的靈活性 - 例如,您擁有用於衆多不同項目的通用代碼文件夾。組允許您組織項目內的文件,就好像它們在項目中一樣,同時仍將代碼的一個副本保留在中心位置。是的,您也可以使用文件夾引用來做到這一點,但如果您稍後想要將其他內容添加到同一個組,但不希望將它們添加到該常用文件夾,則組更靈活。

如果要將組鏈接到文件夾,請單擊項目文件樹中的組,然後按命令+選項+ 1。在下拉菜單下方會顯示類似右側的「路徑:相對於羣組」的圖標,旁邊有一個帶有灰色邊框的小白方塊,旁邊有一個「無」字樣的圖標。點擊這個,然後選擇/創建一個文件夾將把該組綁定到該文件夾​​。

folder reference

此外,當您拖動文件夾到的Xcode,它會問你,如果你希望它是一組或文件夾參考:

adding a folder reference

+3

但「將組綁定到文件夾」與「創建文件夾引用」不同。後者是特殊的:它將*文件夾*複製到構建應用程序中。 – matt 2013-04-09 01:07:08

+2

然而,當你想在finder/svn中尋找一個類並且目錄結構完全不同時,這是一種痛苦 – htafoya 2016-03-05 04:06:19

+2

@htafoya我絕對同意。另一方面,如果您使用組而不是文件夾重組一堆文件,那麼實際源代碼中的合併衝突的機會就會減少,因爲文件本身不會移動。有很重要的折衷考慮。 – 2016-03-06 04:12:33

48

這是我的寵物狗。

我建議,在你的文件系統中創建文件夾,在那裏你有你的項目文件,然後將該文件夾拖到你想要的組的Xcode。它將像任何其他組一樣行事,但現在可以鏈接到文件系統上的文件夾。在Xcode中將文件添加到該組現在將它們添加到文件系統中的文件夾中。

更加清潔的工作方式,有助於在大型項目中查找文件。也讓git更清潔。

更新Xcode的9:

一旦你在Xcode中組配對磁盤上的目錄結構,在Xcode從一組文件移動到另一個現在會正確地移動磁盤文件進行匹配。

+1

+1,好主意! – DGund 2012-04-28 22:29:50

+18

我只是想知道爲什麼Xcode不是以只使用文件夾而是使用文件夾而不是開始? – 2012-04-28 22:36:11

+1

是的,它保持Git清潔:) – Malloc 2012-12-01 19:50:14

8

有一個命令線工具 - 「synx」 在github中可用,完全符合你的需求。

它重新組織取景器以匹配項目組的Xcode Xcode項目文件夾中。

你可以在這裏找到: https://github.com/venmo/synx

+1

如果您在添加新組的時候忘了創建文件夾,那麼這是將xcode組轉換爲文件夾系統的最佳方法 – 2016-12-14 09:49:56

相關問題