当我开始使用 OSX/iOS 时,我使用
NSMutableArray * a1 = [NSMutableArray arrayWithCapacity:123] ;
NSMutableDictionary * d1 = [NSMutableDictionary dictionaryWithCapacity:123] ;
然后我发现了“更简单”的版本
NSMutableArray * a2 = [NSMutableArray array] ;
NSMutableDictionary * d2 = [NSMutableDictionary dictionary] ;
我现在搬到了:
NSMutableArray * a3 = [@[] mutableCopy] ;
NSMutableDictionary * d3 = [@{} mutableCopy] ;
从功能上讲,它们看起来都是一样的:一旦以任何一种方式初始化,无论它们是如何创建的,它们都可以使用。差异在哪里?
特别是,我应该假设 d3/a3 在内存预分配(或缺乏)方面比 d1/a1 更类似于 d2/a2 吗?
或者这只是风格问题?