私は見た
NSArray *objectsToShare = @[objects];
いくつかのサンプルコードを見るとき。
@[objects]
ここの意味は何ですか?
私は見た
NSArray *objectsToShare = @[objects];
いくつかのサンプルコードを見るとき。
@[objects]
ここの意味は何ですか?
NSArray *objectsToShare = @[objects];
と同じです
NSArray *objectsToShare = [NSArray arrayWithObjects:objects count:count];
Examples
Immutable array expression:
NSArray *array = @[ @"Hello", NSApp, [NSNumber numberWithInt:42] ];
AppleLLVM
コンパイラを使用する場合4.0 or later
、配列、辞書、および数値(NSArray, NSDictionary, NSNumber classes)
は、メソッドの代わりにリテラル構文を使用して作成することもできます。[22] リテラル構文では、@記号を。と組み合わせて使用し[], {}, (),
ます。
リテラルのない例:
NSArray *myArray = [NSArray arrayWithObject:someObject];
NSDictionary *myDictionary = [NSDictionary dictionaryWithObject:someObject forKey:@"key"];
NSNumber *myNumber = [NSNumber numberWithInt:myInt];
リテラルの例:
NSArray *myArray = @[ someObject ];
NSDictionary *myDictionary = @{ @"key" : someObject };
NSNumber *myNumber = @(myInt);
objc-at-expression : '@' (string-literal | encode-literal | selector-literal | protocol-literal | object-literal)
;
object-literal : ('+' | '-')? numeric-constant
| character-constant
| boolean-constant
| array-literal
| dictionary-literal
;
boolean-constant : '__objc_yes' | '__objc_no' | 'true' | 'false' /* boolean keywords. */
;
array-literal : '[' assignment-expression-list ']'
;
assignment-expression-list : assignment-expression (',' assignment-expression-list)?
| /* empty */
;
dictionary-literal : '{' key-value-list '}'
;
key-value-list : key-value-pair (',' key-value-list)?
| /* empty */
;
key-value-pair : assignment-expression ':' assignment-expression
;
詳細については、このチュートリアルをお読みください
オブジェクト「オブジェクト」である1つのオブジェクトで配列を作成します
これは、LLVMコンパイラーに追加された新機能です。で配列を作成できます
NSArray *array = @[object1, ...];
可変配列を作成することはできず、オブジェクトのリストをで終了する必要がないことに注意してくださいnil
。WWDC2012のビデオ「LLVMの新機能」をご覧ください。