文档章节

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

哥特复心
 哥特复心
发布于 2014/04/16 23:45
字数 355
阅读 4542
收藏 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火焰动画效果、图文混排框架、StackView效果、偏好设置、底部手势等源码

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

sunnyaigd
07/31
0
0
解决 iOS 内英文系统中联系人排序问题

好多人喜欢将 iOS 设置为英文系统,但是有一个问题其实蛮头疼的,就是联系人的排序问题。在英文系统中,所有中文名字被默认排到了 # 后面,而不是按照拼音来分栏的。 网上有一个方法就是将每...

xh4n3
2015/07/26
0
0
iOS源码补完计划--AFNetworking 3.1.0源码研读

参拜一下AFNetworking的源码。 第四篇源码、暂时来看也是iOS方向的最后一篇、撸完准备趁着热乎撸一撸网络协议。 目录 准备工作 功能模块 AFURLSessionManager/AFHTTPSessionManager AFNetwo...

kirito_song
05/25
0
0
iOS逆向工程- 学习整理(工具详解)

前言 一、逆向工程的要求 具备丰富的 iOS 开发经验 最好能非常熟悉 iOS 设备的硬件构成,iOS 系统的运行原理。 拿到任意一个 App 之后能够大致推断出它的项目规模和使用的技术,比如它的MVC模...

_小迷糊
05/11
0
0
HDU ~ 6297 ~ CCPC直播 (模拟,输出格式控制)

思路:模拟就行了,注意Running和RTE的开头字母一样。 iomanip是I/O流控制头文件,就像printf的格式化输出一样。 以下是一些常用的: dec 置基数为10 相当于"%d" hex 置基数为16 相当于"%X" oc...

zscdst
05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

七牛qshell工具 批量删除操作

qshell 下载地址&文档(http://developer.qiniu.com/code/v6/tool/qshell.html) 这里我们演示的是windows下的操作,将下载的工具改名为:qshell.exe 然后将文件的路径添加到PATH 然后 点击 “...

koothon
今天
1
0
Fastjson-fastjson中$ref对象重复引用问题

import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;/** * fastjson中$ref对象......

小黄狗
今天
1
0
mybatis一级缓存

mybatis执行查询的流程,最终都是通过动态代理进入到MapperProxy的invoke方法 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try......

wuyiyi
今天
6
0
安装weblogic wls1033_generic.jar 遇见的坑

接别人的烂摊子,weblogic部署没部署成功不部署了 让我远程给别人部署weblogic 11g 部署完成启动域的时候启动不了报错如下 Unrecognized option: -jrockit Error: Could not create the Ja...

雁南飞丶
今天
1
0
通过7个python函数理解区块链

我想对于那里的很多人来说,区块链就是这种现象,很难不让你头脑发热。我开始观看视频和阅读文章,但对我个人而言,直到我编写自己的简单区块链,我才真正理解它是什么以及它的潜在应用价值。...

笔阁
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部