taoru's memo

Objective-c,cocos2d,など開発についてのメモ(andoroidも少しだけ)

ファイル名に自由に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行とかでやる方法がありそう…

QLOOKアクセス解析