arrayWithCapacity中所定义的方法NSArray.h和在实施NSArray.m
当我查看GNUStep提供的代码时,我可以得到这arrayWithCapacity是一个调用的常规方法initWithCapacity:
+ (id) arrayWithCapacity: (NSUInteger)numItems
{
return AUTORELEASE([[self allocWithZone: NSDefaultMallocZone()]
initWithCapacity: numItems]);
}
Run Code Online (Sandbox Code Playgroud)
并且initWithCapacity是一种只进行自我初始化的简单方法.
- (id) initWithCapacity: (NSUInteger)numItems
{
self = [self init];
return self;
}
Run Code Online (Sandbox Code Playgroud)
没有关于内存分配和执行的项目数量.
使用该arrayWithCapacity方法有什么好处?简单地使用它会更好[[NSArray alloc] init]吗?
可能重复:
NSMutableArray initWithCapacity细微差别
Objective-c NSArray init与initWithCapacity:0
以下代码行有什么区别?什么是确切的优势和劣势?假设接下来我将做3个addObject操作.
NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity: 5];
NSMutableArray *array = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)