文档章节

ios排序(对象排序,字母,数字)

哥特复心
 哥特复心
发布于 2014/04/16 23:45
字数 355
阅读 4547
收藏 6

工作中从服务器上面取到了很多数据,需要对他们进行一下排序,IOS中系统就定义好了排序的方法,但是一定要会用,不然很烦躁的,我在这里就吃过亏,下面介绍三种常见的排序 第一种是对象排序

下面的对象我设置为一个uitext控件的Y值 // 4.对所有的文本框控件进行排序 [_fields sortUsingComparator:^NSComparisonResult(UITextField *obj1, UITextField obj2) { / NSOrderedAscending = -1L, // 右边的对象排后面 NSOrderedSame, // 一样 NSOrderedDescending // 左边的对象排后面 */

    CGFloat obj1Y = obj1.frame.origin.y;
    CGFloat obj2Y = obj2.frame.origin.y;
    
    if (obj1Y > obj2Y) { // obj1排后面
        return NSOrderedDescending;
    } else { // obj1排前面
        return NSOrderedAscending;
    }
}];

第二种我设置为数字

NSArray *array = @[@1, @20, @3, @10, @2]; // sortedArrayUsingComparator:方法并不会改变array数组内部的顺序 // sortedArrayUsingComparator:方法会返回一个新的已经排好序的数组 NSArray *sortedArray = [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *obj1, NSNumber *obj2) { if ([obj1 intValue] < [obj2 intValue]) { return NSOrderedDescending; } else { return NSOrderedAscending; } }];

NSLog(@"%@", sortedArray);

第三种为字母 NSArray *kArrSort = [_dic allKeys]; //这里是字母数组:,g,a,b.y,m…… NSArray *resultkArrSort = [kArrSort sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

    return [obj1 compare:obj2 options:NSNumericSearch];
}];
NSLog(@"%@",resultkArrSort);

好了,值得注意的是块代码中的id obj1.他们都是表示比较大小时,两个比较的对象,也就是你的数组中的对象哦! 希望能帮到读者,以及自己,共同学习哦!

© 著作权归作者所有

共有 人打赏支持
哥特复心
粉丝 109
博文 68
码字总数 40593
作品 0
长沙
高级程序员
私信 提问
iOS个人中心渐变动画、微信对话框、标签选择器、自定义导航栏、短信验证输入框等源码

iOS精选源码 简单的个人中心页面-自定义导航栏并予以渐变动画(http://www.code4app.com/thread-10860-1-1.html) 程序员取悦女票的正确姿势---Tip1(iOS美容篇)(http://www.code4app.com/th...

Android爱开源
01/16
0
0
深入理解苹果系统(Unicode)字符串的排序方法

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由iminder发表于云+社区专栏 Unicode编码 我们知道计算机是不能直接处理文本的,而是和数字打交道。因此,为了表示文本,就建...

腾讯云加社区
2018/11/20
0
0
iOS火焰动画效果、图文混排框架、StackView效果、偏好设置、底部手势等源码

iOS精选源码 高性能图文混排框架,构架顺滑的iOS应用。(http://www.code4app.com/thread-10375-1-1.html) 使用OpenGLE覆盖阿尔法通道视频动画播放器视图。(http://www.code4app.com/thread-3...

sunnyaigd
2018/07/31
0
0
IOS数组按中文关键字以字母序排序

IOS项目中会用到对通讯录的联系人或是会员按姓名为关键字排序,因为NSArray并不直接支持对汉字的排序,这就要通过将汉字转换成拼音完成按A~Z的排序,这看起来是个头疼的问题,因为牵扯到汉字...

长平狐
2012/11/01
575
0
你用.NET开发APP时,在云平台打包APP要填个“包名”的含义

ios 在ios平台,包名有它专有的名词:bundle ID.bundle ID可以翻译成包ID,也可以叫APP ID或者应用ID,他是每一个ios应用的全球唯一标识,只要bundle id不变,无论代码怎么改,图标和应用名称怎么换...

amanda112
04/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
3
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
4
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
3
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部