解析(枚举)NSMutableArray的最佳(最快)方法。

时间:2012-12-26 14:29:36

标签: iphone objective-c nsmutablearray nsarray

我有问题。

假设你有一个数组NSMutableArray myArray;并且它有nome个对象。

我可以说:

for (NSObject* anObject in myArray){
  //bla-bla
}

我也可以说:

for (int i = 0; i < myArray.count-1; i ++){
  //bla-bla
} 
  1. 两种方法有什么区别?

  2. 哪种方式更快?

  3. 任何建议(或链接,或啧啧)都表示赞赏。

    干杯

2 个答案:

答案 0 :(得分:3)

两个版本不应该太大,特别是不明显(除了第二个代码不迭代所有项目)。如果速度是您想要的一切,您可以使用enumerateObjectsWithOptions:usingBlock:并通过NSEnumerationConcurrent选项同时枚举数组。然而,除此之外,使用两个版本中的任何一个都没有区别,所以你应该使用你喜欢的任何东西。第一个版本肯定不是类型密集型的,也适用于其他基础容器类型(NSSetNSCountedSetNSDictionary

答案 1 :(得分:1)

点击这里的精彩帖子:

NSArray enumeration performance examined

它确切地显示哪些方法最快,以及为什么。