objective-c - 使用和不使用容量初始化 NSMutableArray

标签 objective-c xcode nsmutablearray

<分区>

Possible Duplicate:
NSMutableArray initWithCapacity nuances
Objective-c NSArray init versus initWithCapacity:0

下面这行代码有什么区别?确切的优点和缺点是什么?假设接下来我将执行 3 个 addObject 操作。

NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity: 5];
NSMutableArray *array = [[NSMutableArray alloc] init];

最佳答案

在功能上这两个语句是相同的。

在第一种情况下,您向运行时提示您很快将向数组添加五个对象,以便它可以根据需要为它们预分配一些空间。这意味着前五个 addObject: 调用使用第一个语句可能会稍微快一些。

但是,不能保证运行时除了忽略提示之外会做任何事情。我自己从不使用 initWithCapacity:。如果我遇到 addObject: 是一个严重的性能瓶颈的情况,我可能会尝试看看情况是否有所改善。

关于objective-c - 使用和不使用容量初始化 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11848059/

相关文章:

objective-c - 如何强制更新 Cocoa 绑定(bind)?

ios - 在tableView中点击不同的行后在collectionView中显示不同的数组

ios - 保存和加载 NSMutableArray - NSUserDefaults

ios - AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

iphone - 如何让UITableViewCell中的图片平滑滚动?

IOS/objective-C : Determine when asynchronous download has finished before saving data

ios - 我的导航栏出现在故事​​板中,但未出现在模拟器中

ios - 如何让图片占据应用底部?

ios - NSMutableArray removeObject 没有调用我的自定义 isEqual

ios - NSMutableArray writeToUrl