ファイル名に自由にsuffixをつけるNSString+Suffixを作った
suffixといえば、retina用画像なら hoge@2x.png のように@2xをつけるのだけれど、
オリジナルのsuffixを使いたい場合があったので、やり方を調べた。
が、サクッとやるメソッドは用意されていないっぽい…?
ので簡単なExtentionを作った。
要件
- 拡張子の前にsuffixをつけたい
- suffixは引数で指定
- hoge.png -> hoge-suffix.png のようになればよい
NSString+Suffix.h
#import <Foundation/Foundation.h> @interface NSString (Suffix) /** * 拡張子の前にsuffixをつける */ - (NSString *)stringByAppendingSuffix:(NSString *)suffix; @end
NSString+Suffix.m
#import "NSString+Suffix.h" @implementation NSString (Suffix) - (NSString *)stringByAppendingSuffix:(NSString *)suffix { if (suffix) { NSString *fileNameWithoutExtension = [self stringByDeletingPathExtension]; NSString *extention = [self pathExtension]; NSString *suffixedString = [NSString stringWithFormat:@"%@%@",fileNameWithoutExtension,suffix]; return [suffixedString stringByAppendingPathExtension:extention]; }else{ return self; } } @end
ほんとにこんなの必要なのか…?もっと1行とかでやる方法がありそう…