一、数组排序

数组排序方式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);
}

iOS 数组和字典排序的更多相关文章

  1. [BS-02] iOS数组、字典、NSNumber 新写法—— @[]、@{}

    IOS数组.字典.NSNumber 新写法—— @[].@{}   //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * ar ...

  2. iOS - 数组与字典(NSArray & NSDictionary)

    1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s ...

  3. iOS数组、字典与json字符串的转换

    /*! * 将字典或者数组转化为JSON串 * * @param theData <#theData description#> * * @return <#return value ...

  4. ios 数组和字典

    一.数组.  数组只能存放对象类型的数据  2.数组中的对象是有序的 (index)     (一)可变数组   NSArray:NSObject  不可变数组 作用:容器类 存放的是对象类型的数据, ...

  5. iOS 数组字典操作

    iOS开发中需要大量对dictionary和array进行操作,因此我们需要一种更加安全可靠的操作方法来避免不必要的crash.当然可以通过自定义dictionary 和array重载增删改查的方法来 ...

  6. iOS数组的去重,判空,删除元素,删除重复元素 model排序 等

    一: 去重 有时需要将NSArray中去除重复的元素,而存在NSArray中的元素不一定都是NSString类型.今天想了想,加上朋友的帮助,想到两种解决办法,先分述如下. 1.利用NSDiction ...

  7. iOS 数组的去重(普通的无序的去重和排序好的去重)

    本文转载至 http://blog.csdn.net/zhaopenghhhhhh/article/details/24972645 有时需要将NSArray中去除重复的元素,而存在NSArray中的 ...

  8. iOS数组排序 请求后,数组元素的排序 时间戳,最热,点赞数等

    [ZOYSessionManager dataWithUrlString:GetVideoDataComment andParameter:@{@"id":userID,@&quo ...

  9. 窥探Swift之数组与字典

    说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的特性,今天的博客就来窥探一下Swift中的Array和Dictionary.还是沿袭之前的风格,在介绍S ...

随机推荐

  1. 定时任务的使用-crond

    第1章 练习题 1.1 每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包) 1.1.1 测试命令 [root@znix ~]# ...

  2. 动态权限<二>之淘宝、京东、网易新闻 权限申请交互设计对比分析

    移动智能设备的快速普及,给生活带来巨大的精彩,但是智能设备上用户的信息数据很多,隐私数据也非常多,各种各样的app可能通过各种方式在悄悄的收集用户数据,而用户的隐私就变得耐人寻味了.比如之前的可以无限 ...

  3. 我是如何自学 Python 的?

    最近一直有读者私信问我,Ahab你是如何学习Python的?能推荐几本适合新手学习的书吗?有没有好的实践项目分享一下呢? Python未来发展前景怎么样呀?今天我就认真的告诉大家我是如何学习Pytho ...

  4. Python中remove,pop,del的区别

    先上题:写出最终打印的结果 a = [1, 2, 3, 4] for x in a: a.remove(x) print(a) print("=" * 20) b = [1, 2, ...

  5. 32bit 天堂2 windows 2000 server架设教程

    服务器的软件要求: Microsoft Windows 2000 Server or advanced Server license 100 Microsoft SQL Server 2000 Ent ...

  6. VirtualBox共享文件夹 Windows 7 (宿主机) + Ubuntu 12.04

    1 安装增强功能包1.1 运行Ubuntu并登陆,菜单“设备”->“安装增强功能包(Install Guest Additions)”ubun1.2 桌面上会多出一个光盘图标,光盘默认自动加载到 ...

  7. Centos7 zabbix 自动发现与注册

    自动发现与自动注册 自动发现: zabbix Server主动发现所有客户端,然后将客户端登记自己的小本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多. 自动注册: zab ...

  8. 编写webpack 插件

    Webpack插件为第三方开发者释放了Webpack的最大可能性.利用多级回调开发者可以把他们自己的需要的功能引入到Webpack里面来.Build插件比Build loader 更进一步.因为你需要 ...

  9. idea最常使用的快捷键

    撤销 反撤销 : Ctrl+Z / Ctrl+Shift+Z 删除一行 : Ctrl+Y 跳到实现类 : Ctrl+Alt+B 重命名文件:   shift+F6 控制台放大缩小: ctrl+shif ...

  10. Daily Scrum (2015/10/31)

    这几天我们组的进度有点慢,剩下这一周的我们必须要加油认真对待. 周末这两天我们是这样安排的: 成员 今日任务 时间 明日任务 符美潇 数据库部分代码的编写 1h 每周小组例会 潘礼鹏 团队博客作业   ...