1.使用for循环遍历数组, 代码如下:
NSArray * array = @[@"one",@"two",@"three"];
for (int i = 0; i < array.count; i++)
{
NSString * str = array[i];
NSLog(@"array[%d] = %@",i,str);
}
2.forin遍历,
for (NSString * str in array)
{
NSLog(@"str = %@",str);
}
3. 使用枚举器遍历
NSEnumerator * enumerateor = [array objectEnumerator];
NSString * value;
while (value = [enumerateor nextObject]) {
NSLog(@"enum str %@",value);
}
在可变数组中若需要删除某个对象,不能直接遍历删除,
for (int i = 0; i < array.count; i++)// 这种删除方式是错误的,
{
NSString * str = [array objectAtIndex:i];
//在遍历数组的时候,千万不要给数组中,增加,或者删除元素
[array removeObject:str1];//
NSLog(@"str %@",str);
}
若必须要同过遍历方法删除, 建议设置临时数组转换如下面代码所示:
NSMutableArray * array2 = [[NSMutableArray alloc] init];
[array2 addObject:@"1"];
[array2 addObject:@"2"];
[array2 addObject:@"3"];
[array2 addObject:@"4"];
[array2 addObject:@"5"];
NSMutableArray * tmp = [[NSMutableArray alloc] init];
for (NSString * str in array2)
{
if ([str isEqualToString:@"3"])
{
[tmp addObject:str];
}
}