NSArray的4种遍历方式

前言:NSArray对应的是java的List,不同的是其元素不能更改,不过其派生类NSMutableArray可以更改,遍历的方式跟java的List基本一样

一.  for循环

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. Student *stu = [Student student];  
  2. NSArray *array = [NSArray arrayWithObjects:stu, @"1",@"2",nil];  
  3. int count = array.count;//减少调用次数  
  4. for( int i=0; i<count; i++){  
  5.     NSLog(@"%i-%@", i, [array objectAtIndex:i]);  
  6. }  

二.  增强for

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. for(id obj in array){  
  2.     NSLog(@"%@",obj);  
  3. }  

三.  迭代器

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. NSEnumerator *enumerator = [array objectEnumerator];  
  2. id obj = nil;  
  3. while(obj = [enumerator nextObject]){  
  4.     NSLog(@"obj=%@",obj);  
  5. }  

四.  Block块遍历

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
    1. [array enumeratorObjectsUsingBlock:  
    2. ^(id obj, NSUInteger index, BOOL  *stop){  
    3.     NSLog(@"%i-%@",index,obj);  
    4.     //若终断循环  
    5.     *stop = YES;  
    6. }];  
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。 电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗? 求知若饥,虚心若愚。 当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
原文地址:https://www.cnblogs.com/wvqusrtg/p/4503521.html