陈斌彬的技术博客

Stay foolish,stay hungry

枚举(NSEnumerator)

遍历数组每个索引处的对象,你可以编写一个0到[array count]的循环,而NSEnumerator用来描述这种集合迭代运算的方式。

通过objectEnumerator向数组请求枚举器,如果想从后向前浏览集合,可使用reverseObjectEnumerator方法。在获得枚举器后,可以开始一个while循环,每次循环都向这个枚举器请求它的下一个对象:nextObject。nextObject返回nil值时,循环结束。示例如下:

 // NSEnumerator示例
 NSEnumerator *enumerator;
 enumerator = [array objectEnumerator];
 id thing;
 while (thing = [enumerator nextObject]) {
 NSLog(@"I found %@",thing);
}

对于可变数组进行枚举操作时,主要不要添加或删除数组中的对象。

快速枚举

Objective-C2.0支持快速枚举:如

 for (NSString *string in array)
 {
 NSLog(@" I found %@",string);
 }

这个循环将会遍历数组中的每个元素,并且用变量string存储每个数组值。它比枚举器语法更加简洁快捷