配列の初期化との違いは何ですか
NSArray * array = [NSArray array];
と
NSArray * array = @[];
配列の初期化との違いは何ですか
NSArray * array = [NSArray array];
と
NSArray * array = @[];
@[]
は次の省略形です。
id a = nil;
NSArray* array = [NSArray arrayWithObjects:&a count:0];
[NSArray array]
これは、すべての意図と目的のために、実際には単に省略形です。
これは、コンパイラの特定のバージョンで追加された機能です (実際には、この特定の構文のランタイム サポートは必要ありません)。
これは、コンパイル時定数を生成し、実行時にメッセージを送信しないinの短縮形とはまったく異なります。実際、(any ) は特別なケースであり、ランタイムでメッセージングなしで実現されるコンパイル時定数を発行します。ダイナミズムゼロ。Aは、オブジェクトの通常のインスタンスよりも、Objective-C クラスに似ています。@""
@""
@""
@"sequence"
@"..."
NSArray * array = @[];
新しいやり方ですNSArray * array = [NSArray array];