ios数组基本用法2

#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); 

    } 

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容