Могут пригодиться дополнения NSString для компонентов пути, а именно: pathExtension и stringByDeletingPathExtension
Редактировать: см. Также: stringByAppendingPathExtension: (как указано Дейв Делонг )
NSString * ext = [fileName pathExtension];
NSString * baseName = [fileName stringByDeletingPathExtension];
NSString * thumbBase = [baseName stringByAppendingString:@"-thumbnail"];
NSString * thumbnailName = [thumbBase stringByAppendingPathExtension:ext];
Если вы действительно хотите, чтобы magicFunction
существовал, вы можете добавить метод категории к NSString следующим образом:
@interface NSString (MoreMagic)
- (NSString *)stringByAddingFileSuffix:(NSString *)suffix;
@end
@implementation NSString (MoreMagic)
- (NSString *)stringByAddingFileSuffix:(NSString *)suffix
{
NSString * extension = [self pathExtension];
NSString * baseName = [self stringByDeletingPathExtension];
NSString * thumbBase = [baseName stringByAppendingString:suffix];
return [thumbBase stringByAppendingPathExtension:extension];
}
@end
Использовать следующим образом:
NSString * thumbnailName = [fileName stringByAddingFileSuffix:@"-thumbnail"];