1

我最近在一个 Xcode 项目中遇到了一些我以前没有注意到的符号。

什么是

@{some_value}

@[some_value]

谢谢

4

3 回答 3

1

这些是 ObjC 集合文字。文档在这里:http ://clang.llvm.org/docs/ObjectiveCLiterals.html

于 2012-12-07T23:37:02.510 回答
1

它应该是@{key:value}表示具有键和值的字典。@[some_value]应该是一个数组。如另一个答案中所述,请查看Objective C Literals以获取更多详细信息。

从那个链接一个例子是,

NSDictionary *dictionary = @{
    @"name" : @"some name",
    @"date" : [NSDate date],
    @"processInfo" : [NSProcessInfo processInfo]
};

NSArray *array = @[ @"Hello", NSApp, @42]];
于 2012-12-07T23:48:14.780 回答
0

这些是 Objective-C 的“快捷方式”,可让您快速创建 NSArray 或 NSDictionary。

我可以说

NSArray *myArray = @[@"My Object", @"My Second Object", @"My Third Object"];

事实上,@"" 表示法是相同的,因为它允许您快速创建一个 NSString。

@{}:

NSDictionary *myDict = @{@"My Object" : @"My Key", @"My Second Object", @"My Second Key"};

对于懒惰的开发人员来说,这是一种快速的方法,可以避免实际打字这一明显艰巨的任务[[... alloc] init...]

于 2012-12-08T03:01:13.660 回答