前言:NSArray对应的是java的List,不同的是其元素不能更改,不过其派生类NSMutableArray可以更改,遍历的方式跟java的List基本一样
一. for循环
Student *stu = [Student student];
NSArray *array = [NSArray arrayWithObjects:stu, @"1",@"2",nil];
int count = array.count;//减少调用次数
for( int i=0; i<count; i++){
NSLog(@"%i-%@", i, [array objectAtIndex:i]);
}
二. 增强for
for(id obj in array){
NSLog(@"%@",obj);
}
三. 迭代器
NSEnumerator *enumerator = [array objectEnumerator];
id obj = nil;
while(obj = [enumerator nextObject]){
NSLog(@"obj=%@",obj);
}
四. Block块遍历
[array enumeratorObjectsUsingBlock:
^(id obj, NSUInteger index, BOOL *stop){
NSLog(@"%i-%@",index,obj);
//若终断循环
*stop = YES;
}];