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

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

最佳答案

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

$array(foo, bar, baz)

扩展为:
[NSArray arrayWithObjects:foo, bar, baz, nil]

我不确定这是否值得麻烦。而且我没有提供这些宏的库的链接,也许其他人有?

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

关于iphone - 美元符号在objective-c中是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4713051/

10-11 22:27