iOS对象数组排序
2016-04-25 14:40
519 查看
个人理解及总结
用到方法
这里obj1是数组array中的第一个对象;
obj2是数组array中的第二个对象;
我们想根据对象中的某个对象排序, 比较
if (obj1.对象 > obj2.对象)
{
返回正序
}
else
{
返回倒叙
}
下面是我根据环信SDK写的一个app, 其聊天列表需要按照时间戳排序, 新发的消息要排到最上面, 代码如下:
用到方法
// 这里的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; }
相关文章推荐
- iOS 图像的滤镜效果实现
- iOS nslog
- dSYM 崩溃信息分析工具
- iOS打包步骤
- 《Motion Design for iOS》(一)
- 自定义键盘右上角完成按钮
- 预览功能
- Xcode 快捷键。实用且能提高效率
- IOS数组相关
- iOS开发--使用RSA加密
- iOS 显示HTML文本
- iOS巅峰之label描边
- iOS沙盒路径的查看和使用
- block简介与简单使用
- 集成支付宝-iOS
- iOS:.NSRunLoop再理解
- iOS Provisioning Profile(Certificate)与Code Signing详解
- IOS TextField设置大全
- iOS layer层关键帧动画
- ios与js交互,获取webview完整url,title,获取元素并赋值跳转