NSStringで文字列のおさらい | ゆぅさんのiPhone開発技術関連ブログ

ゆぅさんのiPhone開発技術関連ブログ

iPhone開発についての技術まわりのことを切り出して書き込みします。

文字列を扱うNSStringのおさらいをめもめもわんわん

改めて、文字列の基本をめもめもしておきますね。
文字列はNSStringクラスを使います。
@"文字列"と書くと、文字列を格納したNSStringオブジェクトができます。
文字列を結合したり、ある文字列を含む新しい文字列を作る時は、文字列フォーマットを使って新しいNSStringクラスを作ります。

[NSString stringWithFormat:@"フォーマット", ・・・];

フォーマットは、2番目の引数以降の設定を%で始まるフォーマットに当てはめていきます。

%@ クラス(文字列もこれ)
%d 整数(int型)
%f 小数(float型)

などなど。
詳しくは、リファレンスを"String Format Specifiers"の項目で確認できます。
ちょっと探してみたけど、WEBだと、ここなのかな?
https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html


%@でクラスをフォーマット化したときには、NSObjectのdescriptionメソッドが呼ばれて、それぞれのクラスに設定された文字列に変換されます。
自分で作ったクラスにdescriptionメソッドを定義すれば、独自のフォーマットを作ることもできちゃいます。

文字列をコンソールに書き出すためには、NSLog関数を使います。


NSLog(@"フォーマット", ・・・);


フォーマットとその後の引数の指定は、さっきと同じ。
これで、コンソールに書き出しされます。

使い方サンプル

NSString* str1 = @"abcdefg";
int i = 1;
NSString* str2 = [NSString stringWithFormat:@"string = %@, int = %d", str1, i];
NSLog(@"%@", str2);



出力

2012-03-29 03:26:02.485 Sample120222[4628:207] string = abcdefg, int = 1




こんな感じです星空