美元符号在Objective-c中意味着什么?

时间:2011-01-17 12:18:59

标签: iphone objective-c c macos

 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));   

在这句话中有一个美元符号是什么意思?关于它的任何链接?

2 个答案:

答案 0 :(得分:12)

这不是该语言的一个功能,这些是一些人使用的集合的便利初始化器。例如:

$array(foo, bar, baz)

扩展为:

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

我不确定这是不值得的。我没有链接到提供这些宏的库,也许还有其他人呢?

顺便说一句,看起来我们将在Xcode 4.4中为数组,字典和其他一些对象提供官方文字。目前细节似乎在NDA下,但有一些discussion at Hacker News

答案 1 :(得分:2)