黑马程序员技术交流社区

标题: 数组的遍历 [打印本页]

作者: 夜神月No1    时间: 2015-11-23 19:06
标题: 数组的遍历
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        NSMutableArray *array = [[NSArray arrayWithObjects:@"one",@"two",@"three",@"two", nil] mutableCopy];
        //1.C语言中的遍历方式
        for (int i = 0; i<[array count]; i++) {
            NSLog(@"array[%d]:%@",i,[array objectAtIndex:i]);
        }
        //2.***快速枚举
        //参数1 每次得到数组中元素的引用
        //参数2 哪一个集合/组合
        NSMutableArray *removeStrs = [NSMutableArray array];
        for (NSString *str in array) {
            if ([str isEqualToString:@"two"]) {
                //临时保存要删除的内容
                [removeStrs addObject:str];
            }
            NSLog(@"str:%@",str);
        }
        //[array removeObject:removeStr];
        for (NSString *removeStr in removeStrs) {
            [array removeObject:removeStr];
        }
        NSLog(@"array:%@",array);
        //3.迭代器遍历
        //可以得到数组或集合相应的替代器
        NSEnumerator *enumertator = [array objectEnumerator];
        //得到迭代器指向的内存空间的引用
        //并且会自动向下移动一位,当超出数组或集合的范围则返回nil值
        //[enumertator nextObject];
        NSString *str = nil;
        while (str = [enumertator nextObject]) {
            NSLog(@"str2:%@",str);
        }

    }
    return 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2