「XCode4.4」カテゴリーアーカイブ

NSNumberリテラル


XCode4.4で、NSNumberリテラルが導入されました。NSArrayリテラルと比べると利用頻度は小さそうだけど、便利っちゃー便利。覚えておいて損はない。

新リテラルを使った書き方

NSNumber * number1 = @123;
NSNumber * number2 = @3.14;
NSLog(@"%@ %@", number1, number2);

従来の書き方

NSNumber * number1 = [NSNumber numberWithInt:123];
NSNumber * number2 = [NSNumber numberWithFloat:3.14];
NSLog(@"%@ %@", number1, number2);

NSDictionaryの新記法


XCode4.4でコンパイラが新しくなったことで、NSDictionaryオブジェクトを簡単に作れるようになりました。新記法はコンパイラで処理されるだけなので、新記法を使って開発したアプリケーションも、古いiOS上で問題なく動作します。

NSDictionary * dict = @{@"a":@"A", @"b":@"B"};
NSLog(@"%@", dict);
2012-08-11 22:18:28.572 NewSyntax[12147:f803] {
    a = A;
    b = B;
}

NSArrayの新記法


XCode4.4以降では、NSArrayのインスタンスを手軽に生成できるようになりました。打鍵数が減るだけでなく、ソースコードの可読性も向上しています。

//新記法
NSArray * array1 = @[@"foo",@"bar",@"bazz"];
NSLog(@"%@", array1);

//従来の記法
NSArray * array2 = [NSArray arrayWithObjects:@"foo", @"bar", @"bazz",nil];
NSLog(@"%@", array2);

実行結果

2012-08-11 22:00:03.004 NewSyntax[11825:f803] (
    foo,
    bar,
    bazz
)