黑马程序员技术交流社区

标题: NSArray的4种遍历方式 [打印本页]

作者: 穷屌丝一枚    时间: 2015-9-9 00:16
标题: NSArray的4种遍历方式
分类: iOS 2014-02-27 14:01 6473人阅读 评论(0) 收藏 举报
前言:NSArray对应的是java的List,不同的是其元素不能更改,不过其派生类NSMutableArray可以更改,遍历的方式跟java的List基本一样

一.  for循环
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
Student *stu = [Student student];  
NSArray *array = [NSArray arrayWithObjects:stu, @"1",@"2",nil];  
int count = array.count;//减少调用次数  
for( int i=0; i<count; i++){  
    NSLog(@"%i-%@", i, [array objectAtIndex:i]);  
}  
二.  增强for
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
for(id obj in array){  
    NSLog(@"%@",obj);  
}  
三.  迭代器
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
NSEnumerator *enumerator = [array objectEnumerator];  
id obj = nil;  
while(obj = [enumerator nextObject]){  
    NSLog(@"obj=%@",obj);  
}  
四.  Block块遍历
[objc] view plaincopy在CODE上查看代码片派生到我的代码片
[array enumeratorObjectsUsingBlock:  
^(id obj, NSUInteger index, BOOL  *stop){  
    NSLog(@"%i-%@",index,obj);  
    //若终断循环  
    *stop = YES;  
}];  





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