2010-02-18 261 views
7

文件夾結構如如何使用子路徑獲取資源路徑使用NSBundle

*Resources/books/CD_en/icon/0.jpg; 
*Resources/books/CD_en/icon/1.jpg; 
*Resources/books/DD_en/icon/0.jpg; 
*Resources/books/DD_en/icon/1.jpg; 

如何使用子路徑從NSBundle獲取資源路徑'books/CD_en/icon/0.jpg'

我嘗試使用,

- (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension inDirectory:(NSString *)subpath 

[[NSBundle mainBundle] pathForResource:@"0.jpg" ofType:@"jpg" inDirectory:@"books/CD_en/icon"]; 

但它返回nil

+3

用「0」取代「0.jpg」? – yehnan 2010-02-18 03:19:41

+0

我認爲yehnan有它 - 你的名字應該是0而不是0.jpg – RyanWilcox 2010-02-18 03:43:28

+0

[[NSBundle mainBundle] pathForResource:@「0」ofType:@「jpg」inDirectory:@「books/CD_en/icon」]; 錯誤鍵入...我做了上面的 – 2010-02-18 05:31:25

回答

2

我明白了。只需要將文件夾結構'books/...'添加到應用程序資源文件夾。它將以藍色顯示。

然後現有代碼運行成功。

感謝yehnan。

1

我得到同樣的問題,從Resource文件夾中檢索圖像。通過以下方法添加圖像解決了我的問題。

  • 右鍵單擊xcode中的項目,然後選擇Add Files to "project name"
  • 從計算機本地磁盤選擇您的圖像文件。
  • 在彈出窗口中,確保您選擇Copy items into destination group's folderCreate Folder References for any added foldersAdd to targets
  • 點擊Add

然後用波紋管代碼我可以檢索我的圖像。

[[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"png"];