复制空数组有什么意义?

时间:2015-06-17 07:49:57

标签: ios objective-c nsmutablearray nsarray nscopying

我正在阅读另一个程序员的代码,所以我发现了这个:

@property(nonatomic, strong) NSArray *assets;
----
   _assets = [@[] mutableCopy];
    __block NSMutableArray *tmpAssets = [@[] mutableCopy];

这是一种诡计吗?为什么他将mutableCopy用于不可变数组assets?为什么他不像以下那样创建它:

self.assets = [NSArray new];
__block NSMutableArray *tmpAssets = [NSMutableArray new];

1 个答案:

答案 0 :(得分:1)

只是获取空可变数组的简写。

而不是[NSMutableArray alloc] init]代写的代码略少 -

{p> new构造并没有被大多数Objective-C程序员真正使用,并且为了方便其他语言的新手而被添加。

请注意@[]将创建一个(不可变的)NSArray -
NSMutableArray没有Objective-C literal