iOS开发中对数组元素进行排序
来源:互联网 发布:2017年网络销售好做吗 编辑:程序博客网 时间:2024/06/05 08:17
直接上代码, 请看:
//// ViewController.m// 数组排序//// Created by Wangjunling on 16/4/12.// Copyright © 2016年 Wangjunling. All rights reserved.//#import "ViewController.h"#import "Person.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; [self sortFunc1]; [self sortFunc2]; }//方法1- (void)sortFunc1 { NSArray *arr = @[@2, @9, @334, @66, @5, @15]; //1.使用系统的Compare方法 NSArray *sortResultArr = [arr sortedArrayUsingSelector:@selector(compare:)]; NSLog(@"%@", sortResultArr);}//方法2- (void)sortFunc2 { Person *p1 = [Person new]; p1.name = @"xiaohua5"; p1.age = 18; p1.score = 99; Person *p2 = [Person new]; p2.name = @"xiaohua8"; p2.age = 18; p2.score = 88; Person *p3 = [Person new]; p3.name = @"xiaohua6"; p3.age = 17; p3.score = 77; NSArray *personArr = @[p1, p2, p3]; //2.使用自定义的compare方法, 此方法为block形式,代码简洁直观 NSArray *sortResultArr = [personArr sortedArrayUsingComparator:^NSComparisonResult(Person *obj1, Person *obj2) { NSComparisonResult result = [@(obj1.age) compare:@(obj2.age)]; if (result == NSOrderedSame) { result = [obj1.name compare:obj2.name]; } return result; }]; NSLog(@"%@", sortResultArr);}//方法3 通过排序描述器排序, 此方法方便通过某个字段去比较, 在实际开发中最常见- (void)sortFunc3 { Person *p1 = [Person new]; p1.name = @"xiaohua5"; p1.age = 18; p1.score = 99; Person *p2 = [Person new]; p2.name = @"xiaohua8"; p2.age = 18; p2.score = 88; Person *p3 = [Person new]; p3.name = @"xiaohua6"; p3.age = 17; p3.score = 77; NSArray *personArr = @[p1, p2, p3]; //排序描述:即要排序的字段, NSSortDescriptor *descriptor1 = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:true]; //排序描述:即要排序的字段, NSSortDescriptor *descriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"score" ascending:true]; //Descriptors参数为数组, 放入要排序的字段, 系统会按照先后顺序排序, //上面的p1 p2 p3 先按照年龄排序, 年龄一样的在按照分数排序 NSArray *sortResultArr = [personArr sortedArrayUsingDescriptors:@[descriptor1,descriptor2]]; NSLog(@"%@", sortResultArr);}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
1 0
- iOS开发中对数组元素进行排序
- iOS开发-对数组进行排序
- iOS中对字典进行排序 ios开发教程
- MongoDB中对数组元素进行查询
- 对ArrayList中某一元素进行排序
- iOS 对数组中的对象进行排序
- 【代码笔记】iOS-对数组进行排序
- iOS 对数组中的对象进行排序
- 使用冒泡排序算法对数组元素进行排序
- iOS开发之把数组中的元素进行随机排序、随机数产生的几种方法
- 输入一个数组,对数组进行排序,并输出该数组中重复元素出现的次数
- PHP中对数组进行排序
- [Java]实现冒泡算法,对数组元素进行排序
- C++,利用指针对数组元素进行大小排序
- 冒泡排序--对数组中的元素进行降序排列
- iOS中对字典进行排序
- iOS中对字典进行排序
- 对数组进行排序
- Cocos2d 创建一个精灵
- 用qemu模拟i386的linux内核,用于内核学习
- 嵌入式操作系统基础知识
- Objective-C中NSArray和NSMutableArray的基本用法
- Cocos2d 控件:创建一个label
- iOS开发中对数组元素进行排序
- Spark RDD缓存代码分析
- PLSQL安装:ORA-12154:TNS:无法解析指定的连接符
- Linux IO barrier
- C++实验3—本月有几天?
- C++作业3
- PHP是如何执行代码解析过程的
- mysql数据库删除数据库以及从数据库中拷贝数据表的方法
- ViewPager的使用