如何获取图像的路径形式主要资源的资源

时间:2013-04-24 06:54:27

标签: iphone swift xcode ios6

我有一个iPhone应用程序,其中我将images目录(组)添加到Resources(组)。我想访问images中的图像。我需要一个到那些图像的路径,所以我创建了一个像下面这样的代码。

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"myImage1" ofType:@"png" inDirectory:@"images"];
NSLog(@"%@", imagePath);

结果:

(null)

我也试过这段代码

NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"myImage1" ofType:@"png"];

但是这段代码给了我(null)结果。

myImage1的路径为Resources/images/myImage1.png

我不知道是什么问题。请提出一些修正建议。

3 个答案:

答案 0 :(得分:11)

通过以下方法添加图像解决了我的问题。

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

然后用波纹管代码我可以检索我的图像。

Objective-C 版本

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

Swift 4.0

Bundle.main.path(forResource: "imageName", ofType: "png")

答案 1 :(得分:7)

为了灵魂......

转到:目标 - > “构建阶段” - > “copy bundle Resources”然后在这里添加该特定文件。

清理项目并运行。它有效。

还看到......

NSBundle pathForResource inDirectory gives nil

并检查......

NSString *path = [[NSBundle mainBundle] resourcePath];
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = [[NSError alloc] init];
NSArray *directoryAndFileNames = [fm contentsOfDirectoryAtPath:path error:&error];

打印此directoryAndFileNames的所有值并检查您的文件名是否存在....

答案 2 :(得分:0)

首先检查主Bundle中是否有名称名称的文件。

没有具有此类名称的文件时,它会提供 null