如何使用子路径获取资源路径使用NSBundle

时间:2010-02-18 03:17:45

标签: iphone objective-c

拥有像

这样的文件夹结构
*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

2 个答案:

答案 0 :(得分:2)

我明白了。我们只需要将文件夹结构'books / ...'添加到app资源文件夹中。它将以蓝色显示。

然后现有代码成功运行。

感谢yehnan。

答案 1 :(得分:1)

我从Resource文件夹中检索图像时出现同样的问题。通过以下方法添加图像解决了我的问题。

  • 右键点击xcode中的项目,然后选择Add Files to "project name"
  • 从计算机本地磁盘中选择您的图像文件。
  • 在弹出窗口中,请务必选择Copy items into destination group's folderCreate Folder References for any added folders以及Add to targets
  • 点击Add

然后用波纹管代码我可以回溯我的图像。

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