2013-08-19 54 views
1

我剛剛剛接觸iOS,對文件的管理方式感到困惑。objective c iOS文件結構混亂

在我的項目,我已經設置了目錄,所以我必須在Xcode:

支持文件
。 Set 1
..pic0101N.png
..pic0102N.png
。設置2
..pic0201N.png
..pic0202N.png
等。

在文件結構,其中我的應用程序(在我的桌面名爲FTF文件夾中)

另外,我還一個名爲圖像和設置1,設置2等子目錄

當我在Xcode中單擊圖像時,完整路徑被列爲:/ Users/MyName/Desktop/FTF/FTF/images/Set 1/pic0101N。 png

我的問題是,如何獲取Set 1文件夾中所有圖像的列表?

我嘗試使用各種方法: [一個NSBundle mainBundle]但是,這一切都歸結到我的路徑似乎是:

/用戶/ MYNAME /庫/應用程序支持/ iPhone模擬器/ 6.1 /應用程序/ Axxxx1E9-19B3-XXX-XXXX-xxX5xXxX4x9/FTF.app

而且這裏似乎沒有任何我的文件結構,就像文件在那裏但沒有在任何目錄中一樣,他們都似乎只是一堆文件。你可以使用NSArray * namesArray = [[NSBundle mainBundle] pathsForResourcesOfType:@「png」inDirectory:@「」];

得到所有的列表PNGS這樣:
/用戶/ MYNAME /庫/應用程序支持/ iPhone模擬器/ 6.1 /應用/ 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

我想我必須對什麼是根本的困惑繼續。有人可以幫我嗎?

回答

1

這是因爲Xcode沒有幫助(和/或它假設開發者是愚蠢的或者是某種東西),並且每當你創建一個組時,它只會反映在項目結構中 - 沒有在文件系統上物理創建相應的文件夾。

如果你想讓自己的真實文件夾,這也是可能的 - 參考this question

+0

感謝您的答覆,我不得不在該響應提示一個去確實能在Xcode和取景器中移動的文件,但仍然得到 的NSArray * namesArray = [[一個NSBundle mainBundle] pathsForResourcesOfType的相同的結果:@「png」inDirectory:@「」]; 給出一個單子列表: /Users/MyName/Library/Application Support/iPhone Simulator/6.1/Applications/Axxx81E9-19B3-4B4D-9FD4-XXXXX4499/FTF.app/pic0101N.png/Users/MyName/Library/Application支持/ iPhone模擬器/ 6.1 /應用程序/ AXX9-19B3-4B4D-9FD4-8x9xx4499/FTF.app/pic0101P.png –

0

是你要找的Xcode項目結構之間的差異,Mac OS X的文件系統結構,iOS應用文件系統結構和哪些文件生成過程中的實際複製到應用程序。

一開始,其在Mac OS X上的位置的文件並不意味着他們會在任何項目或應用類似的位置。

iOS應用程序是一系列內容(link),其中一些內容不可編輯,並在構建應用程序時由Xcode設置,其中一些內容可以寫入(如應用程序文檔目錄)。複製到應用程序的文件由Xcode中的build phases設置控制。

您使用NSBundle的方式是查找和使用在構建過程中複製到應用程序的資源的正確方法。

+0

感謝您的回覆。這使得它更清晰一些 –