码迷,mamicode.com
首页 > 编程语言 > 详细

OC-数组遍历的四种方法

时间:2014-12-24 17:49:58      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

数组遍历的四种用法

例:NSArray *array = @[@1,@2,@3,@4];

 

第一种方法--for循环

for(int i=0;i<array.count;i++){

  NSLog( @"%@",array[i] );

}

 

第二种方法--for循环增强版

//常用的是

for(NSString *str in array){

  NSLog(@"%@",str);

}

//万能的是

for(id obj in array){

  NSLog(@"%@",obj);

}

 

第三种方法--枚举器-迭代器

NSEnumerator *en = [array objectEnumerator];

NSString *str =nil;//如果不是字符串的话,也可以用万能   id obj;

while(str=[en nextObject]){

  NSLog(@"%@",str);

}

 

第四种方法--利用Block

 

//这个方法有要求,就是不能用在不可变数组

//NSArray *array = @[@1,@2,@3,@4];不可变数组是不对的

//创建一个可变数组

NSMutableArray *arr = [NSMutableArray arrayWithArray:@[@1,@2,@3,@4]];

[arr enumeratorObjectsUsingBlock:

^(id obj;NSUInteger idx;BOOL *stop){

  NSLog(@"%@",obj);

  if(idx==0){

  *stop=YES;

      }  

}];

 

 

注意点:大家都知道集合NSSet和数组NSArray有很多共同点,但是set是无序的,所以不能通过索引来获取元素,像这样的set[i],绝对错的

所以目前本人只用枚举器来遍历数组和集合

 

OC-数组遍历的四种方法

标签:

原文地址:http://www.cnblogs.com/wxios/p/4182784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!