在開發IOS應用時,我們經常需要將素材分類,並放入相應地子目錄中。
在開發代碼時,需要訪問這些素材時,就需要獲取對應的子目錄路徑。那么如何獲取呢?
獲取應用路徑
首先,要找到應用所在的路徑。
NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
獲取子目錄路徑
假設有一個子目錄名字叫做images,那么可以按照下面的方法獲取其路徑。
NSString *imagePath = [bundlePath stringByAppendingPathComponent:@"images"];
找到這個路徑就OK了,從這里開始,你就可以為所欲為了,比如遍歷子文件夾中所欲的文件等。
別高興太早
即使有了上面的代碼,你也不一定會成功,為什么呢?因為IOS應用默認的文件組織結構是平坦(flat)模式,也就是沒有子目錄!你在Xcode中可以看到很多目錄,但是生成的文件中卻沒有子目錄。導致上面的代碼失效。怎么辦?
- 將你要添加的子目錄拖拽到XCode中(或者右鍵單擊工程選擇-添加文件到工程),
- 在彈出的對話框中要選擇 "Create Folder References for any added folders",切記!
如果我的子文件夾已經添加到了工程中,但是沒有選擇"Create Folder References for any added folders"怎么辦?
沒關系,直接刪除他,刪除的時候選擇Remove References. 不要Move to Trash,然后重新添加一按照上面的步驟添加一次即可。
另外一個方法是在Build Parse中的 Copy Bundle Resources選項下設置。如下圖所示,把要copy的子目錄添加進去即可。
不同顏色的文件夾
在XCode中,有兩種顏色的文件夾,一種是黃色,一種是藍色,只有藍色得文件夾才會被copy到app目錄中,黃色的文件夾只是用來組織文件的,並不代表應用的最終結構!
Happy Coding!!!