循环x枚举

时间:2011-01-20 21:47:07

标签: iphone objective-c objective-c-blocks

我正在重写我的一个应用程序的一部分,以便优化它并使其快速。

由于这个应用是在块之前创建的,我现在正在重写许多东西以使用块。

我用枚举替换循环。如果真的值得用枚举转换循环,你们知道吗?我的意思是:

for (int i=0; i<[array count]; i++) {
  doStuff ([array objectAtIndex:i]);
}

用这个:

[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
    doStuff(obj);
}];

感谢

1 个答案:

答案 0 :(得分:4)

这不是绝对必要的,实际上可能更贵。

为什么不使用for..in循环?无需使用块 - 尽可能降低复杂性。

for(id obj in array) {
   doStuff(obj);
}