如何在 Xcode 中获取 PNG 名称而不是整个目录路径?

Posted

技术标签:

【中文标题】如何在 Xcode 中获取 PNG 名称而不是整个目录路径?【英文标题】:How to get the PNG name instead of the whole directory path in Xcode? 【发布时间】:2012-05-19 22:24:05 【问题描述】:

所以我的“支持文件”Xcode 项目中有一个 PNG 列表。我这样做是为了访问所有扩展名为 PNG 的文件:

NSArray *pngFilePaths = [[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:@""];
NSLog(@"PNG:%@", pngFilePaths);

打印出来:

"/Users/John/Library/Application Support/iPhone Simulator/5.1/Applications/123456-1234-1234-1234-B123412341234/MyPNGProject.app/UI_daily_time.png"

但是,我只想要 PNG 名称“UI_daily_time”,而不是整个路径。所以我只是添加了上面的目录来访问 png:

NSArray *pngFilePaths = [[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:@"/Users/John/Library/Application Support/iPhone Simulator/5.1/Applications/123456-1234-1234-1234-B123412341234/MyPNGProject.app/"];
NSLog(@"PNG:%@", pngFilePaths);

但是 pngFilePaths 现在是空的,我猜我给它的“inDirectory”路径是错误的,但我不知道为什么。非常感谢任何帮助,在此先感谢!

【问题讨论】:

【参考方案1】:

获得完整路径后,使用 stringByDeletingPathExtension 删除扩展名,然后使用 lastPathComponent 仅获取名称:

NSString *pngFilePath = [pingFilePaths objectAtIndex:0];
NSString *pngName = [[pngFilePath stringByDeletingPathExtension] lastPathComponent];

【讨论】:

以上是关于如何在 Xcode 中获取 PNG 名称而不是整个目录路径?的主要内容,如果未能解决你的问题,请参考以下文章

模拟器名称在 Xcode 6.2 中显示为 id 而不是 os 名称

在 Xcode 中,如何以编程方式从 .icns 文件中提取 .png 图像?

Xcode (Swift) - 如何在按钮上存储图像文件的名称

归档应用程序时,Xcode 认为我的 Icon@2x.png 是为 iPad 而不是 iPhone 4

如何在 Swift 中从文件夹中获取 UIImage 数组?

如何从基于日期更改名称的URL中获取PNG