「NSString」カテゴリーアーカイブ

文字列を結合


文字列結合は、NSStringのstringByAppendingString:を使うのが正攻法だが、クラスメソッドのstringWithFormatを使った方が便利なことが多い。stringWithFormatなら文字列以外の値を含めることもできるし3つ以上の文字列結合もシンプルに記述できる。

NSString * str1 = @"Hello ";
NSString * str2 = @"World!";

NSString * str3 = [str1 stringByAppendingString:str2];
NSString * str4 = [NSString stringWithFormat:@"%@%@", str1, str2];

NSDataとNSStringを相互変換する方法


NSDataをNSStringに変換する方法

encodingには文字コードを指定します。最近のシステムであればUTF8で動作する場合が多いとおもいます。

NSString* str = [[NSString alloc] initWithData:data encoding: NSUTF8StringEncoding];

NSStringをNSDataに変換する方法

NSStringをNSDataに変換します。

NSData* data = [str dataUsingEncoding: NSUTF8StringEncoding];

文字列の連結


Objective-Cで文字列を連結する場合はNSStringのstringByAppendingStringメソッドを使う方法もあるが、stringWithFormatを使ったほうが柔軟性があって便利。stringWithFormatを使えば、間にスペースを入れたり、3つ以上の文字列を連結する場合も簡単に記述できる。

NSString * str1 = @"文字列1";
NSString * str2 = @"文字列2";
   
NSString * strA = [str1 stringByAppendingString:str2];
NSString * strB = [NSString stringWithFormat:@"%@%@", str1, str2];

注意: stringWithFormatで指定するフォーマットでは、NSString型の文字列は%@を指定します。%sではありません。