2012-08-01 3 views

答えて

9

これはXcodeの4.4に同梱のコンパイラで利用可能なリテラル新しいコレクションで、

@[object1, object2]; 

の上にあなたが必要な場合はそうはい、それは、自動解放オブジェクトである

[NSArray arrayWithObjects:object1, object2, nil]; 

に相当しますこれは保持することができます

myRetainedArray = [@[object1, object2] retain]; 

this questionはgoを持っていますすべての新しいリテラルの説明

+1

そして男、それは素晴らしいではありません。

Google検索は、さらに情報を育て!私のコードに紫色が必要です –

+0

私はautoreleaseオブジェクトを作成する必要がある場合、上記のリテラルを使用することはできません? –

+0

あなたはまだそれを使用することができます、後でアレイを保持する – wattson12

0

これは、配列を作成するための新しいllvmコンパイラのリテラルです。コンパイラはこれを次のように変更します。

NSArray *array = [NSArray arrayWithObjects: object1,object2,nil]; 

したがって、自動解放されたオブジェクトが返されます。

http://clang.llvm.org/docs/ObjectiveCLiterals.html

+1

"コンパイラはこれを以下のように変更します:"いいえ、それは 'arrayWithObjects:count:'を使うように変更します。 – user102008

関連する問題