一、数组排序

数组排序方式1:

 //初始化可变数组
NSMutableArray *arr1=[NSMutableArray arrayWithObjects:@"giu",@"min",@"Deng",@"liumin", nil];
//字符串排序
//创建排序描述符对象NSSortDescriptor,key为空,ascending:升序
NSSortDescriptor *decri =[NSSortDescriptor sortDescriptorWithKey:nil ascending:YES];
//定义一个数组,用来盛放排序条件
NSArray *des =[NSArray arrayWithObject:decri];
//开始排序
[arr1 sortUsingDescriptors:des];
//打印排序内容
for (int i=; i<arr1.count; i++)
{
NSLog(@"arr=%@",[arr1 objectAtIndex:i]);
}

数组排序方式2:

    NSMutableArray *arr2=[NSMutableArray arrayWithObjects:@"c", @"A",@"z",@"D",nil];

         //区分大小写排序 自带compar方法  选择排序
[arr2 sortUsingSelector:@selector(compare:)];
for (int i=; i<arr2.count; i++)
{
NSLog(@"arr2=%@",[arr2 objectAtIndex:i]);
}

二、字典的排序

 //创建5个排序对象
NSDictionary *dic1 =@{@"price":@"",@"name":@"liu"};
NSDictionary *dic2 =@{@"price":@"",@"name":@"huang"};
NSDictionary *dic3 =@{@"price":@"",@"name":@"yoyu"};
NSDictionary *dic4 =@{@"price":@"",@"name":@"yofu"};
NSDictionary *dic5 =@{@"price":@"",@"name":@"yosu"};
//将这些对象放进数组
NSArray *arr =[NSArray arrayWithObjects:dic1,dic2,dic3,dic4, dic5,nil];
//调用数组排序方法
NSArray *arr2 = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2)
{
//取出对象里的一个值作比较,根据大小返回结果
NSString *c = [obj1 valueForKey:@"price"];
NSString *d = [obj2 valueForKey:@"price"];
int a =[c intValue]; //转成整形int比较
int b =[d intValue];
//按照降序排列,如果升序就返回结果对换
if (a > b)
{
return NSOrderedAscending;
}else
{
return NSOrderedDescending;
} }];
//循环遍历排序后的字典数组
for (NSDictionary *dic in arr2)
{
NSLog(@"%@",dic);
}

最新文章

  1. HTML5
  2. php mysql 一个查询优化的简单例子
  3. 解决jquery1.9不支持browser对象的问题||TypeError: $.browser is undefined
  4. SqlSever中Index Seek的匹配规则(一)
  5. 【原】sql 将某列拼成一个字符串
  6. webstrom热键[持续更新]
  7. 解决Ext.TextField的AllowBlank不能过滤空格代码
  8. (转) Functions
  9. android开发关于和使用本机内存、内置存储卡和外置存储卡 (转)
  10. qemu -hda /dev/sdc -m 1024 -vga std
  11. .Net3月份开发札记
  12. 前端必备之Node+mysql+ejs模版如何写接口
  13. robotframework基本语法一
  14. 伯克利SocketAPI(一) socket的C语言接口/最简单的服务器和对应的客户端C语言实现
  15. [T-ARA][Ma boo]
  16. 自定义yum源
  17. Xamarin iOS教程之使用按钮接接收用户输入
  18. Codeforces 580A - Kefa and First Steps
  19. SPOJ - DQUERY
  20. android手机 ping 虚拟机ubuntu的ip地址

热门文章

  1. Apache和Nginx比较
  2. 开箱即用 - log4net 日志
  3. ThreeJS实现波纹粒子效果
  4. Received non-all-whitespace CHARACTERS or CDATA event in nextTag(). ,无法整齐打印验证错误。 解析XML文档出现的问题
  5. Hyperledger Fabric Ledger——账本总账
  6. ovs源码阅读--netlink使用
  7. 三羊献瑞:next_permutation()
  8. IPC_Binder_java_1
  9. How to submit a package to PyPI
  10. second scrum meeting - 151026