Bas*_*awy 3 initialization objective-c nsarray ios
初始化数组有什么区别
NSArray * array = [NSArray array];
Run Code Online (Sandbox Code Playgroud)
和
NSArray * array = @[];
Run Code Online (Sandbox Code Playgroud)
@[] 是简写:
id a = nil;
NSArray* array = [NSArray arrayWithObjects:&a count:0];
Run Code Online (Sandbox Code Playgroud)
[NSArray array]对于所有意图和目的而言,这实际上只是简写.
这是在特定版本的编译器中添加的功能(并且实际上不需要对此特定语法的运行时支持).
它完全不像生成编译时常量的@""简写,并且在运行时不会导致消息传递.事实上,(any )是一个特殊情况,它发出一个编译时常量,它在运行时实现零消息传递; 零动力.A 更类似于Objective-C类,而不是对象的常规实例.@""@""@"sequence"@"..."