遍历数组每个索引处的对象,你可以编写一个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存储每个数组值。它比枚举器语法更加简洁快捷