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

水月年*_*月年华 7 c iphone macos objective-c

 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));   
Run Code Online (Sandbox Code Playgroud)

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

zou*_*oul 12

这不是语言的一个特征,这些是一些人使用的集合的便利初始化器.例如:

$array(foo, bar, baz)
Run Code Online (Sandbox Code Playgroud)

扩展为:

[NSArray arrayWithObjects:foo, bar, baz, nil]
Run Code Online (Sandbox Code Playgroud)

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

顺便说一句,看起来我们将在Xcode 4.4中使用数组,字典和其他一些对象的官方文字.目前细节似乎在NDA之下,但在Hacker News上有一些讨论.

  • 我从未在任何Objective-C程序中看到过这个.显然,它是由PHP程序员想到的. (8认同)