数组操作之遍历,排序,逆序

数组遍历:

索引遍历

枚举遍历:

  1. NSEnumerator* enumerator = [array objectEnumerator];  
  2. id e = nil;  
  3. while (e = [enumerator nextObject])  
  4. {  
  5.     NSLog(@"e = %@", e);  

代码块遍历:

  1. // 示例1:枚举遍历  
  2. [array enumerateObjectsUsingBlock:^ (id obj, NSUInteger idx, BOOLBOOL *stop){  
  3.     NSLog(@"obj = %@", obj);  
  4. }];  
  5.   
  6. // 示例2:枚举遍历,遇到符合条件的元素(obj=array[idx])即退出遍历。  
  7. [array enumerateObjectsUsingBlock:^ (id obj, NSUInteger idx, BOOLBOOL *stop){  
  8.     if ([obj isEqualToString:@"e3"]) {  
  9.         *stop = YES; // 中止遍历, break  
  10.     } else {  
  11.         *stop = NO; // 继续遍历,continue  
  12.     }  
  13. }]; 

数组排序:

循环排序

代码块排序:

        NSArray *array = @[@12,@23,@8];

        NSComparator sortBlock = ^(id string1,id string2){

//            return [string1 compare:string2];

            if ([string1 floatValue]<[string2 floatValue]) {

                return NSOrderedAscending;

            }else if ([string1 floatValue]==[string2 floatValue]){

                return NSOrderedSame;

            }else{

                return NSOrderedDescending;

            }

        };

        

        NSArray *sortArray = [array sortedArrayUsingComparator:sortBlock];

        NSLog(@"%@",sortArray);

        

    }

 

数组逆序:

遍历逆序

方法逆序:

[[array reverseObjectEnumerator] allObjects];

 

posted @ 2016-06-07 11:17  LiLM  阅读(682)  评论(0编辑  收藏  举报