我最近在一个 Xcode 项目中遇到了一些我以前没有注意到的符号。
什么是
@{some_value}
和
@[some_value]
谢谢
我最近在一个 Xcode 项目中遇到了一些我以前没有注意到的符号。
什么是
@{some_value}
和
@[some_value]
谢谢
这些是 ObjC 集合文字。文档在这里:http ://clang.llvm.org/docs/ObjectiveCLiterals.html
它应该是@{key:value}
表示具有键和值的字典。@[some_value]
应该是一个数组。如另一个答案中所述,请查看Objective C Literals以获取更多详细信息。
从那个链接一个例子是,
NSDictionary *dictionary = @{
@"name" : @"some name",
@"date" : [NSDate date],
@"processInfo" : [NSProcessInfo processInfo]
};
NSArray *array = @[ @"Hello", NSApp, @42]];
这些是 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...]