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类。