我正在阅读另一个程序员的代码,所以我发现了这个:
@property(nonatomic, strong) NSArray *assets;
----
_assets = [@[] mutableCopy];
__block NSMutableArray *tmpAssets = [@[] mutableCopy];
这是某种诡计吗?为什么他使用 mutableCopy 到不可变数组 assets ?他为什么不直接创建它:
self.assets = [NSArray new];
__block NSMutableArray *tmpAssets = [NSMutableArray new];
?
Best Answer-推荐答案 strong>
只是获取空可变数组的简写。
而不是 [NSMutableArray alloc] init] 编写的代码略少 -
new 结构并没有真正被大多数 Objective-C 程序员使用,它是为了方便其他语言的新手而添加的。
注意 @[] 将创建一个(不可变的)NSArray -
没有Objective-C literal对于 NSMutableArray .
关于ios - 复制空数组有什么意义?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/30885408/
|