博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS对象数组排序
阅读量:2431 次
发布时间:2019-05-10

本文共 1152 字,大约阅读时间需要 3 分钟。

个人理解及总结

用到方法

// 这里的array是我们要排序的数组    NSArray *sort = [array sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {        <#code#>    }];
这里obj1是数组array中的第一个对象;

obj2是数组array中的第二个对象;

我们想根据对象中的某个对象排序, 比较

if (obj1.对象 > obj2.对象)

{

返回正序

}

else

{

返回倒叙

}

下面是我根据环信SDK写的一个app, 其聊天列表需要按照时间戳排序, 新发的消息要排到最上面, 代码如下:

-(void)getData{    NSArray *chatListArr = [[EaseMob sharedInstance].chatManager loadAllConversationsFromDatabaseWithAppend2Chat:YES];    [self.dataSourceArr removeAllObjects];    [self.dataSourceArr addObjectsFromArray:[self compareDataSource:chatListArr]];}-(NSMutableArray *)compareDataSource:(NSArray *)array{    NSMutableArray *result = nil;        NSArray *sort = [array sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {        EMMessage *message1 = [obj1 latestMessage];        EMMessage *message2 = [obj2 latestMessage];        if (message1.timestamp > message2.timestamp)        {            return NSOrderedAscending;        }        else        {            return NSOrderedDescending;        }    }];    result = [NSMutableArray arrayWithArray:sort];    return result;}

转载地址:http://bntmb.baihongyu.com/

你可能感兴趣的文章
真相了 | 敲代码时,程序员戴耳机究竟在听什么?
查看>>
回首互联网十年,我们能从八次烧钱大战中学到什么
查看>>
麒麟信安面向场景化创新,赋能openEuler商业验证
查看>>
3 年培养 10 万“码农”,郑州推出“码农计划”
查看>>
程序员弃码投中医?还做成了不错的生意! | 极客视频
查看>>
百度一 29 岁程序员因“篡改数据”被抓
查看>>
去年我年薪 30W,今年我一天做 3 顿饭
查看>>
入职大厂,我容易吗?
查看>>
狂赚 1227 亿!腾讯员工 2020 年人均年薪 81 万;小米员工人均年薪 45 万
查看>>
漫画:什么是加密算法?
查看>>
程序员有话说 |当那个不靠谱的程序员跟我做同一个项目时
查看>>
程序员是如何运用增长思维找到女朋友?
查看>>
@程序员,离职让企业损失近900亿,还遭疯抢!他凭什么?
查看>>
如何用 Python 一键查房价?
查看>>
累死累活干不过写 PPT 的?新东方年会吐槽视频俞敏洪不罚反奖 12 万!
查看>>
“离开360时,它只给了我一块钱”
查看>>
PDF 翻译神器,再也不担心读不懂英文 Paper 了
查看>>
漫话:如何给女朋友解释什么是RPC
查看>>
情人节她说:是的,嫁人当嫁程序员
查看>>
不要成为自己讨厌的那种程序员 | 程序员有话说
查看>>