iOS 数组和字典排序
一、数组排序
数组排序方式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 数组和字典排序的更多相关文章
- [BS-02] iOS数组、字典、NSNumber 新写法—— @[]、@{}
IOS数组.字典.NSNumber 新写法—— @[].@{} //标准写法 NSNumber * number = [NSNumber numberWithInt:]; NSArray * ar ...
- iOS - 数组与字典(NSArray & NSDictionary)
1. 数组的常用处理方式 //--------------------不可变数组 //1.数组的创建 NSString *s1 = @"zhangsan"; NSString *s ...
- iOS数组、字典与json字符串的转换
/*! * 将字典或者数组转化为JSON串 * * @param theData <#theData description#> * * @return <#return value ...
- ios 数组和字典
一.数组. 数组只能存放对象类型的数据 2.数组中的对象是有序的 (index) (一)可变数组 NSArray:NSObject 不可变数组 作用:容器类 存放的是对象类型的数据, ...
- iOS 数组字典操作
iOS开发中需要大量对dictionary和array进行操作,因此我们需要一种更加安全可靠的操作方法来避免不必要的crash.当然可以通过自定义dictionary 和array重载增删改查的方法来 ...
- iOS数组的去重,判空,删除元素,删除重复元素 model排序 等
一: 去重 有时需要将NSArray中去除重复的元素,而存在NSArray中的元素不一定都是NSString类型.今天想了想,加上朋友的帮助,想到两种解决办法,先分述如下. 1.利用NSDiction ...
- iOS 数组的去重(普通的无序的去重和排序好的去重)
本文转载至 http://blog.csdn.net/zhaopenghhhhhh/article/details/24972645 有时需要将NSArray中去除重复的元素,而存在NSArray中的 ...
- iOS数组排序 请求后,数组元素的排序 时间戳,最热,点赞数等
[ZOYSessionManager dataWithUrlString:GetVideoDataComment andParameter:@{@"id":userID,@&quo ...
- 窥探Swift之数组与字典
说到数组和字典,只要是编过程的小伙伴并不陌生.在Swift中的数组与字典也有着一些让人眼前一亮的特性,今天的博客就来窥探一下Swift中的Array和Dictionary.还是沿袭之前的风格,在介绍S ...
随机推荐
- (webapp)微信和safri 对于html5 部分功能不兼容,多选或单选下拉框去除边框无效果。
1 appearance:none; 2 -moz-appearance:none; /* Firefox */ 3 -webkit-appearance:none; /* Safari 和 Chro ...
- iframe的简单使用方法
1.父页面调用子页面的元素(a代表iframe的id或者class,b代表子页面) $('a').contents().find("b") 2.子页面调用父页面的元素(c代表父页面 ...
- Python里的类和对象简介
---恢复内容开始--- Python里的类 对象=属性+方法: 对象的属性主要是指主要的特征和参量,而方法主要是指函数: 类是一个具有一定特征和方法的集合,而对象是类的一个:类和对象的关系就如同模 ...
- CHAPTER 25 The Greatest Show on Earth 第25章 地球上最壮观的演出
CHAPTER 25 The Greatest Show on Earth 第25章 地球上最壮观的演出 Go for a walk in the countryside and you will f ...
- 微软职位内部推荐-Software Engineer II_VS
微软近期Open的职位: Job Title: Software Engineer II Division: Visual Studio China – Developer Division Work ...
- 插件使用-HighChart
一.介绍 让数据可视化更简单,兼容 IE6+.完美支持移动端.图表类型丰富.方便快捷的 HTML5 交互性图表库. 官网(英):https://www.highcharts.com/download ...
- find 删除文件
find 目录 -type f -name '*' -print0 | xargs -0 rm
- servlet 和 threadlocal 与 web容器(理解threadlocal)
同步机制采用了“以时间换空间”的方式,提供一份变量,让不同的线程排队访问.而ThreadLocal采用了“以空间换时间”的方式,为每一个线程都提供了一份变量的副本,从而实现同时访问而互不影响. htt ...
- 2017秋软工 - 本周PSP
1. PSP 2. PSP饼状图 3. 进度条 4. 累计进度图
- 《Spring 2之站立会议3》
<Spring 2之站立会议3> 昨天,查找了本机的端口号,并对代码作进一步的了解. 今天,对我们项目的基本框架进行了了解,即主界面和各个分界面的基本架构: 遇到的问题,虽然了解了基本框架 ...