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