Как получить имя PNG вместо всего пути к каталогу в Xcode?

Итак, у меня есть список PNG в моем проекте Xcode «Поддерживающие файлы». И я сделал это, чтобы получить доступ ко всем файлам с расширением 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», который я дал, неверен, но я не знаю, почему. Любая помощь приветствуется, заранее спасибо!


person ObjectiveC-InLearning    schedule 19.05.2012    source источник


Ответы (1)


Как только вы получите полный путь, используйте stringByDeletingPathExtension, чтобы избавиться от расширения, затем используйте lastPathComponent, чтобы получить только имя:

NSString *pngFilePath = [pingFilePaths objectAtIndex:0];
NSString *pngName = [[pngFilePath stringByDeletingPathExtension] lastPathComponent];
person rdelmar    schedule 19.05.2012