一、数组排序

数组排序方式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. java实现哈弗曼树

    O(∩_∩)O~~ 概述 我想学过数据结构的小伙伴一定都认识哈弗曼,这位大神发明了大名鼎鼎的“最优二叉树”,为了纪念他呢,我们称之为“哈弗曼树”.哈弗曼树可以用于哈弗曼编码,编码的话学问可就大了,比如 ...

  2. Egret入门(一)--简介

    关于Egret 构建2D游戏,开源. TS + JS 完成打包后可以转换成HTML5的游戏(跨平台) Egret特点 1. 优秀的设计思想 2. 高效的渲染模块 3. 完善的配套工具 4. 灵活的工作 ...

  3. 前端_html

    目录 HTML介绍 标签说明 常用标签 <!DOCTYPE>标签 <head>内常用标签 <body>内常用标签 特殊字符 其他:各种各样的标签 HTML的规范 H ...

  4. 阿里云oracle启动失败

    1.监听启动失败: 将$ORACLE_HOME/network/admin 中的listener.ora中的主机名改为localhost 2.sqlplus中startup启动失败 ,出现ORA-00 ...

  5. 完整Highchart JS示例

    线性: $.ajax({ type:'post', url:appPages.urlListTjrll, cache:false, data:{year:year,month:month},// // ...

  6. Java里字符串split方法

    Java中的split方法以"."切割字符串时,需要转义 String str[] = s.split("\\.");

  7. Scrum Meeting 6 -2014.11.12

    今天apec最后一天,大部分任务都差不多了,局部测试问题不大.大家修复下小细节就可以开始整合了. Member Today’s task Next task 林豪森 协助测试及服务器部署 协助测试及服 ...

  8. Daily Scrum (2015/11/2)

    今日我们完成了博客作业的发布,并且也完成了服务器的配置. 成员 今日工作 时间 明日工作 符美潇 两篇文档的修善和数据库的搭建. 2h 完成数据库搭建,并能爬取数据提供给第二小组使用 潘礼鹏 编写两篇 ...

  9. Python学习二

    list  [ ] Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素 classmates = ['Michael', 'Bob', 'Tracy ...

  10. P2P通讯原理

    1.简介 当今互联网到处存在着一些中间件(MIddleBoxes),如NAT和防火墙,导致两个(不在同一内网)中的客户端无法直接通信.这些问题即便是到了IPV6时代也会存在,因为即使不需要NAT,但还 ...