#pragma mark 遍歷數組1
void arrayFor1() {?
? NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil nil];
? ? int count = array.count;?
? ? for (int i = 0; i<count;i++){
id obj = [array objectAtIndex:i]; }
}
#pragma mark 遍歷數組2 快速遍歷
void arrayFor2() {?
? ? Student *stu1 = [Student student];?
? ? NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil nil];?
? ? int i =0;?
? ? for (id obj in array) {?
? ? ? ? NSLog(@"%i-%@", i, obj);?
? ? ? ? i++;?
? ? }?
}?
#pragma mark 遍歷數組3
void arrayFor3() {?
? ? Student *stu1 = [Student student];?
? ? NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil nil];?
? ? [array enumerateObjectsUsingBlock:?
? ? ^(id obj, NSUInteger idx, BOOLBOOL *stop) {?
? ? ? ? NSLog(@"%i-%@", idx, obj);?
? ? ? ? // 如果索引為1,就停止遍歷?
? ? ? ? if (idx == 1) {?
? ? ? ? ? ? // 利用指針修改外面BOOL變量的值?
? ? ? ? ? ? *stop = YES;?
? ? ? ? }?
? ? }];?
}?
#pragma mark 遍歷數組4
void arrayFor4() {?
? ? Student *stu1 = [Student student];?
? ? NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil nil];?
? ? // 獲取數組的迭代器?
? ? // NSEnumerator *enumerator = [array objectEnumerator];?
? ? // 反序迭代器(從尾部開始遍歷元素)?
? ? NSEnumerator *enumerator = [array reverseObjectEnumerator];?
? ? // allObjects是取出沒有被遍歷過的對象?
? ? NSArray *array2 = [enumerator allObjects];?
? ? NSLog(@"array2:%@", array2);?
? ? // 獲取下一個需要遍歷的元素?
? ? id obj = nil;?
? ? while (obj = [enumerator nextObject]) {?
? ? ? ? NSLog(@"obj=%@", obj);?
? ? }?
}