1

所以我在我的“支持文件”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”路径是错误的,但我不知道为什么。非常感谢任何帮助,在此先感谢!

4

1 回答 1

3

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

NSString *pngFilePath = [pingFilePaths objectAtIndex:0];
NSString *pngName = [[pngFilePath stringByDeletingPathExtension] lastPathComponent];
于 2012-05-19T22:29:04.027 回答