2010-02-18 190 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"];