Iphone 目标C中不常用的符号

Iphone 目标C中不常用的符号,iphone,objective-c,ios,xcode,cocoa-touch,Iphone,Objective C,Ios,Xcode,Cocoa Touch,我最近在一个Xcode项目中遇到了一些我以前没有注意到的符号 什么是 @{some_value}和 @[某些值] 谢谢这些是ObjC集合文本。文档在这里:它应该是@{key:value},它代表一个带有键和值的字典@[某些值]应该是一个数组。如另一个答案中所述,查看更多详细信息 从这个联系来看,一个例子是 NSDictionary *dictionary = @{ @"name" : @"some name", @"date" : [NSDate date], @"pro

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

什么是

@{some_value}

@[某些值]


谢谢

这些是ObjC集合文本。文档在这里:

它应该是
@{key:value}
,它代表一个带有键和值的字典
@[某些值]
应该是一个数组。如另一个答案中所述,查看更多详细信息

从这个联系来看,一个例子是

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

@{}:


对于懒惰的开发人员来说,这是一个快速的方法,可以避免实际键入
[[…alloc]init…]

这显然是一项艰巨的任务,我不应该得到-2。对于这一点,你不能在谷歌上搜索这些符号,如果你第一次在代码中注意到它们,并且需要一个快速的答案,stackoverflow是最好的方法。伙计们,请使用你们的特权!没有堆栈溢出不是用来问快速问题的。我是否应该开始问“Eclipse中的这个按钮是什么?我以前没有注意到它”?请注意,NSNumber现在也支持文本
@42
@vikingosegundo,感谢您指出这一点。写这篇文章的时候没有想到这一点。重点放在数组和字典部分。
NSDictionary *myDict = @{@"My Object" : @"My Key", @"My Second Object", @"My Second Key"};