NSArray初始化方法

初始化数组与数组有什么区别

NSArray * array = [NSArray array]; 

 NSArray * array = @[]; 

NSArray * array = @[]; 是做NSArray * array = [NSArray array];的新方法NSArray * array = [NSArray array];

@[]是简写:

 id a = nil; NSArray* array = [NSArray arrayWithObjects:&a count:0]; 

对于所有的意图和目的,这只是[NSArray array]简写。

这是在编译器的特定版本中添加的function(并且实际上并不需要对此特定语法的运行时支持)。

根本不像 @""简写,因为@""会产生一个编译时间常量,并且在运行时不会产生消息 。 实际上, @"" (any @"sequence" )是一个特殊的情况,它发出的编译时间常量在运行时用零消息传递来实现; 零动力。 一个@"..."比一个对象的常规实例更类似于Objective-C类。