2011-01-17 16 views
6
CAGradientLayer *grad = [CAGradientLayer layer]; 
grad.colors = $array(ColRGBA2(1, 0, 0, 1), ColRGBA2(0, 1, 0, 1), ColRGBA2(0, 0, 1, 1), ColRGBA2(0, 0, 0, 0)); 
grad.startPoint = CGPointMake(0, 0); 
grad.endPoint = CGPointMake(1, 0); 


grad.colors = $array(ColRGBA2(1, 0, 0, 1), ColRGBA2(0, 1, 0, 1), ColRGBA2(0, 0, 1, 1), ColRGBA2(0, 0, 0, 0)); 

この文章では、ドル記号を付けていますか?それに関するリンクは何ですか?ドル記号は目的の中で何を意味しますか?

+0

からだ、これは有効なCのコードではありません。 – jrh

答えて

12

これは言語の機能ではありません。これらは、一部の人々が使用するコレクション用の便利な初期化ツールです。例えば:私はそれがトラブルの価値があるかどうかわからないんだけど

[NSArray arrayWithObjects:foo, bar, baz, nil] 

$array(foo, bar, baz) 

はに展開されます。私はこれらのマクロを提供するライブラリへのリンクを持っていません。

ところで、Xcode 4.4では配列、辞書、その他のオブジェクトの公式リテラルがあるようです。詳細は現時点でNDAの下にあるようですが、discussion at Hacker Newsがあります。

+0

私はあなたの答えをありがとう、それはこのコードのマクロです。私はそれを見つける特別な手段はありません –

+8

私はObjective-Cプログラムでこれを見たことがありません。明らかに、それはPHPプログラマによって考えられました。 – JeremyP

+8

Ewwwww ....このような長期メンテナンスを失う。 – bbum

関連する問題