Objective-C中的@ []和@ {}是什么?

Tom*_*ulc 2 equals objective-c nsmutablearray nsmutabledictionary

可能重复:
Xcode 4.4发行说明中提到的"Objective-C Literals"的详细信息是什么?

我已经得到了有关问题@[]@{}.

一些代码来自互联网:

self.searches = [@[] mutableCopy]; 
self.searchResults = [@{} mutableCopy]; 
Run Code Online (Sandbox Code Playgroud)
  1. @[]等于[NSMutableDictionary dictionary]
  2. @{}等于[NSMutableArray array]

Dru*_*erB 7

  1. 号码@[]等于[NSArray array][[NSArray alloc] init].
  2. 号码@{}等于[NSDictionary dictionary][[NSDictionary alloc] init].

(取决于上下文以及是否使用自动引用计数(ARC))

这就是为什么你[@[] mutableCopy]有时会看到这样的东西.这将创建一个空的不可变数组并创建它的可变副本.

结果与使用[NSMutableDictionary dictionary]或相同[[NSMutableDictionary alloc] init].