zoukankan      html  css  js  c++  java
  • iOS开发之数组排序

    1、数组按照指定关键字升序

    NSArray *sortedArray = [unSortedArray sortedArrayUsingComparator:^(id obj1,id obj2)
    {
      //升序,key表示比较的关键字
       if (obj1.key < obj1.key )
      {
         return NSOrderedAscending;
      }
      else
      {
         return NSOrderedDescending;
      }
    }

    2、数组按照指定关键字降序

    NSArray *sortedArray = [unSortedArray sortedArrayUsingComparator:^(id obj1,id obj2)
    {
      //降序,key表示比较的关键字
       if (obj1.key < obj1.key )
      {
         return NSOrderedDescending;
      }
      else
      {
         retur NSOrderedAscending;
      }
    }

    3、数组顺序全部翻转

    NSMutableArray *tempArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",nil];
    NSArray *resultArray = [[tempArray reverseObjectEnumerator] allObjects];

    4、使用NSDescriptor排序

    单个关键字排序

    NSMutableArray *array = [NSMutableArray array];    
    NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"key" ascending:YES];
    [array sortUsingDescriptors:[NSArray arrayWithObject:sort]]; 

    多个关键字排序

    NSMutableArray *array = [NSMutableArray array];  
    NSSortDescriptor *sort1 = [NSSortDescriptor sortDescriptorWithKey:@"key1" ascending:YES];  
    NSSortDescriptor *sort2 = [NSSortDescriptor sortDescriptorWithKey:@"key2" ascending:NO]; 
    ......   
    [array sortUsingDescriptors:[NSArray arrayWithObjects:sort1, sort2, nil]];
  • 相关阅读:
    The&nbsp;library&nbsp;contains&nbsp;native&nbsp;libr…
    DHCP configurations in Ubuntu
    如何编译Linux Kernel
    Rsync 使用指南
    Linux下用semaphore来做进程间互斥
    How to generate patch file?
    PS3MediaServer(用于PS3的DLNA server) 在Ubuntu 9.10上的安装和配置
    嘉猪的最爱 PS3
    梦寐以求的SPL总冠军,KT你赢了
    PLU space in 优酷
  • 原文地址:https://www.cnblogs.com/hecanlin/p/10898676.html
Copyright © 2011-2022 走看看