NSObject *obj=[[NSObject alloc]init];
       NSArray *array=[[NSArray alloc] initWithObjects:@"abc",obj,@"cde",@"opq",@25, nil];
       //方法1 随便
       //int i=0;
       //int len=(int)array.count;
       //for(;i<len;++i){
       //    NSLog(@"method1:index %i is %@",i,[array objectAtIndex:i]);
       //}
       /*结果:
        method1:index 0 is abc
        method1:index 1 is <NSObject: 0x100106de0> method1:index 2 is cde
        method1:index 3 is opq
        method1:index 4 is 25
        */
       
   
       
       //方法2 好high
       //for(id obj in array){
       //    NSLog(@"method2:index %zi is %@",[array indexOfObject:obj],obj);
       //}
       /*结果:
        method2:index 0 is abc
        method2:index 1 is <NSObject: 0x100602f00> method2:index 2 is cde
        method2:index 3 is opq
        method2:index 4 is 25
        */
       
       //方法3,利用代码块方法 不知道
       //[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
       //    NSLog(@"method3:index %zi is %@",idx,obj);
       //    if(idx==2){//当idx=2时设置*stop为YES停止遍历
       //        *stop=YES;
       //    }
       //}];
       /*结果:
        method3:index 0 is abc
        method3:index 1 is <NSObject: 0x100106de0> method3:index 2 is cde
        */
       //方法4,利用迭代器 推荐
       //NSEnumerator *enumerator= [array objectEnumerator];//获得一个迭代器
       NSEnumerator *enumerator=[array reverseObjectEnumerator];//获取一个反向迭代器 //
       //NSLog(@"all:%@",[enumerator allObjects]);//获取所有迭代对象,注意调用完此方法迭代器就遍历完了,下面的nextObject就没有值了
       id obj2=nil;
       while (obj2=[enumerator nextObject]) {
           if([obj2 length] > 2){//只是一个示例,可以加入条件进行选择
               NSLog(@"method4:%@",obj2);
           }
       }
       /*结果:
        method4:25
        method4:opq
        method4:cde
        method4:<NSObject: 0x100106de0> method4:abc
        */
 

NSArray 迭代的更多相关文章

  1. 遍历NSArray, NSDictionary, NSSet的方法总结

    1,for循环读取 NSArray: NSArray *array = /*…*/ ; i<array.count; i++) { id object = array[i]; // do sth ...

  2. IOS - Objective-C NSArray和NSMutableArray的详解 使用

    原文地址:http://blog.csdn.net/totogo2010/article/details/7729377 Objective-C的数组比C++,Java的数组强大在于,NSArray保 ...

  3. iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式

    iOS开发实用技巧—Objective-C中的各种遍历(迭代)方式 说明: 1)该文简短介绍在iOS开发中遍历字典.数组和集合的几种常见方式. 2)该文对应的代码可以在下面的地址获得:https:// ...

  4. iOS 学习 - 6.Objective-C中的各种遍历(迭代)方式

    说明:转自文顶顶 一.使用 for 循环 要遍历字典.数组或者是集合,for 循环是最简单也用的比较多的方法 -(void)iteratorWithFor { //////////处理数组////// ...

  5. Objective-C语法之NSArray和NSMutableArray

    转自:http://www.cnblogs.com/stoic/archive/2012/07/09/2582773.html Objective-C的数组比C++,Java的数组强大在于,NSArr ...

  6. ios开发 数据库版本迁移手动更新迭代和自动更新迭代

    数据库版本迁移顾名思义就是在原有的数据库中更新数据库,数据库中的数据保持不变对表的增.删.该.查. 数据持久化存储: plist文件(属性列表) preference(偏好设置) NSKeyedArc ...

  7. Objective-C中NSArray和NSMutableArray是如何使用的?

    Objective-C的数组比C++,Java的数组强大在于,NSArray保存的对象可以是不同的对象.但只能保存对象,int ,char,double等基本数据类型不能直接保存,需要通过转换成对象才 ...

  8. 用法总结:NSArray,NSSet,NSDictionary-备用

    Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合      (集合)NS ...

  9. 7、Objective-C中的各种遍历(迭代)方式

    一.使用for循环 要遍历字典.数组或者是集合,for循环是最简单也用的比较多的方法,示例如下: //普通的for循环遍历 -(void)iteratorWithFor { //////////处理数 ...

随机推荐

  1. SQLServer处理亿万级别的数据的优化措施

    如何在SQLServer中处理亿万级别的数据(历史数据),可以按以下方面进行: 去掉表的所有索引 用SqlBulkCopy进行插入 分表或者分区,减少每个表的数据总量 在某个表完全写完之后再建立索引 ...

  2. 《深入浅出WPF》重点摘要(—)Binding自动通知机制

    最近因为公司的项目需要用WPF开发,就学习了一下WPF.刚开始只是用到什么就百度什么,虽然功能是实现了,但还是没有弄清楚原理(如果不弄清原理,会感觉很心虚,整个人会没底气),所以决定找个教程系统地学一 ...

  3. 【转】Eazfuscator.NET 3.3中混淆化需要注意的一些问题

    对于DLL,Eazfuscator.NET默认不会混淆化任何公共成员,因为类库的公共成员很有可能被外界调用,而对于EXE的程序集,所有类型都可能被混淆化.注意上面这句话有一个“可能”,因为Eazfus ...

  4. gdb调试大全

    原文:http://blog.csdn.net/dadalan/article/details/3758025

  5. MySQL 死锁日志分析

    ------------------------ LATEST DETECTED DEADLOCK ------------------------ 140824  1:01:24 *** (1) T ...

  6. android控件之EditText

    EditText继承关系:View-->TextView-->EditTextEditText的属性很多,这里介绍几个:android:hint="请输入数字!"//设 ...

  7. iTween基础之Scale(缩放大小)

    一.基础介绍:二.基础属性 原文地址:http://blog.csdn.net/dingkun520wy/article/details/50684392 一.基础介绍 ScaleTo:改变游戏对象的 ...

  8. AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(二)

    上次已经建立了可运行的基本框架,这篇就说说怎么把我们自定义的View自动加载并添加到AvalonDock里面,AvalonDock里有3种类型的UI部件,Document, DockableConte ...

  9. 3573: [Hnoi2014]米特运输 - BZOJ

    Description米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题.    D星上有N个城市,我们将其顺序编号为1到N,1号 ...

  10. Tern Server Timeout