【问题标题】:Most efficient way to create an NSMutableArray from NSArray从 NSArray 创建 NSMutableArray 的最有效方法
【发布时间】:2015-06-06 13:25:31
【问题描述】:

如果有的话,哪一个更有效?

NSMutableArray *array = [NSMutableArray arrayWithArray:@[@1, @2]];

NSMutableArray *array = [@[@1, @2] mutableCopy];

或者这些在内部是一样的吗?

【问题讨论】:

  • 内部是一样的吗?

标签: objective-c cocoa cocoa-touch nsmutablearray nsarray


【解决方案1】:

您提供的两个选项都首先创建一个NSArray,然后从NSArray 创建一个NSMutableArray,因此基本上没有区别。

在这种情况下,第三种选择会稍微好一点:

NSMutableArray *array = [NSMutableArray arrayWithObjects:@1, @2, nil];

这不会像您的其他两个选项那样创建中间 NSArray

【讨论】:

    【解决方案2】:

    使用 ARC 时,您的示例没有区别。但是如果你使用 NSArray 变量而不是静态 @[@1, @2],如果这个数组是 nil,第一个会返回空数组,第二个会返回 nil。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-16
      • 2011-02-08
      • 2015-10-06
      • 1970-01-01
      • 2022-08-23
      • 2011-10-11
      相关资源
      最近更新 更多