zoukankan      html  css  js  c++  java
  • 如何使用快速枚举遍历元素(for..in)

    1.快速遍历数组的每一个元素:

    NSArray * array = [NSArray arrayWithObjects:@"zhangsan",@"lisi",@"wangwu",@"zhaoda",@"qianer",nil];

    //方法一:快速枚举(for...in):效率最高,代码的可读性强,代码简洁易懂

    for(NSString obj in array)

    {

      NSLog(@"%@",obj);

    }

    //方法二:for循环遍历

    for(int i = 0; i < [array count]; i++)

    {

      NSString * obj = [array objectAtIndex:i];

      NSLog(@"%@",obj);

    }

    //方法三:使用枚举器NSEnumerator

    NSEnumerator * enumerator = [array reverseObjectEnumerator];

    NSString * obj = nil;

    while(obj = [enumerator nextObject])

    {

      NSLog(@"%@",obj);

    }

    //方法四:(block)使用专业的枚举方式

    [array enumerateObjectsUsingBlock:^(id obj,NSUInteger idx,BOOL * stop){

      NSLog(@"%@---%lu",obj,idx);

      if(idx == 1){

      *stop = YES;

    }

    }];

    2.快速遍历字典中的每一个元素

    NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:@"jack",@"name",@"19",@"age",@"1.8",@"height",nil];

    NSArray * allkeys = [dic allkeys];

    for(int i = 0; i < [dic count]; i++)

    {
      NSString * key = [allkeys objectAtIndex:i];

      NSString * obj = [dic objectForKey:key];

      NSLog(@"obj=%@,key=%@",obj,key);

    }

    3.快速遍历集合中的元素(NSSet)

    NSSte * set = [NSSet  setWithObjects:@"mingren",@"zuozhu",@"haizei",@"xiaoxin",nil];

    NSString * obj = [set allObjects];

    for(int i = 0; i < [set count]; i++)

    {  

      NSLog(@"%@",[obj objectAtIndex:i]);

    }

    以上就是有关数组,字典和集合的遍历元素的方法,方法还有很多,希望和各位同学相互学习,相互成长!

  • 相关阅读:
    TypeError: Object of type 'type' is not JSON serializable解决方法
    Python Logging
    Mysql 主从赋值
    (转)Mysql 创建用户 查看权限 授权
    mysql you need (at least one of) the SYSTEM_USER privilege(s) for this operation
    java 多线程 六、线程状态
    java 多线程 五、线程组
    java 多线程 四、线程通信
    java Runtime类 Time类
    java 设计模式 ---- 饿汉 , 懒汉
  • 原文地址:https://www.cnblogs.com/liuxp1990/p/3416226.html
Copyright © 2011-2022 走看看