ObjectiveC-InLearning
ObjectiveC-InLearning

Reputation: 441

How to get the PNG name instead of the whole directory path in Xcode?

So I have a list of PNG's in my "Supporting Files" Xcode project. And I did this to access all files with extension PNG:

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

That prints out this:

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

However, I only want the PNG NAME "UI_daily_time", instead of the whole path. So I just added the directory above to get to the png with this:

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);

But pngFilePaths is now empty, I'm guessing the "inDirectory" path I gave it is wrong, but I don't know why. Any help is much appreciated, thanks in advance!

Upvotes: 1

Views: 224

Answers (1)

rdelmar
rdelmar

Reputation: 104082

Once you get the full path use stringByDeletingPathExtension to get rid of the extension, then use lastPathComponent to get the name only:

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

Upvotes: 3

Related Questions