关于iphone:iOS中的@ {…}结构是什么?

What is an @{ … } structure in iOS?

本问题已经有最佳答案,请猛点这里访问。

我在看最近的一篇文章,里面有一小段代码:

1
2
3
4
5
NSDictionary *attrs =
    @{ NSForegroundColorAttributeName : [UIColor grayColor],
       };
NSString *currentRank = @"Sample text";
[currentRank drawAtPoint:CGPointMake(100, 100) withAttributes:attrs];

在iOS中,我非常习惯在他们前面用@串起来(例如@"This is some constant text.")。但我以前从未见过一个@在一个支撑结构的前面(也许我已经脱离了"循环"…或者从未在里面;)。

有人能告诉我在iOS中@结构意味着什么吗?


@是nsdictionary的简写。它被称为"nsdictionary literal",文档如下:

网址:http://clang.llvm.org/docs/objectiveecliterals.html


@是创建nsdictionary的一种简单方法。

1
NSDictionary *dict = [[NSDictionary alloc] init];

等于

1
NSDictionary *dict = @{};