1. 程式人生 > >獲取IOS應用的子目錄

獲取IOS應用的子目錄

在開發IOS應用時,我們經常需要將素材分類,並放入相應地子目錄中。

在開發程式碼時,需要訪問這些素材時,就需要獲取對應的子目錄路徑。那麼如何獲取呢?

獲取應用路徑

首先,要找到應用所在的路徑。

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];

獲取子目錄路徑

假設有一個子目錄名字叫做images,那麼可以按照下面的方法獲取其路徑。

NSString *imagePath = [bundlePath stringByAppendingPathComponent:@"images"];

找到這個路徑就OK了,從這裡開始,你就可以為所欲為了,比如遍歷子資料夾中所欲的檔案等。

別高興太早

即使有了上面的程式碼,你也不一定會成功,為什麼呢?因為IOS應用預設的檔案組織結構是平坦(flat)模式,也就是沒有子目錄!你在Xcode中可以看到很多目錄,但是生成的檔案中卻沒有子目錄。導致上面的程式碼失效。怎麼辦?

  1. 將你要新增的子目錄拖拽到XCode中(或者右鍵單擊工程選擇-新增檔案到工程),
  2. 在彈出的對話方塊中要選擇 "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!!!