OC对数组排序的方法
2015-09-07 13:57
232 查看
方法一: 使用sortUsingSelector
如: [_cards sortUsingSelector:@selector(isSortByContactName:)];
[_cards sortUsingSelector:@selector(isSortBYPhoneNumber:)];
-(BOOL)isSortByContactName:(Card *)aCard
{
if ([_contactName compare:[aCard contactName]] ==NSOrderedDescending) {
return YES;
}
return NO;
}
-(BOOL)isSortBYPhoneNumber:(Card *)aCard
{
if (_phoneNum>[aCard phoneNum]) {
return YES;
}
return NO;
}
方法二: sortedArrayUsingComparator:
_seatInfoArray = [_seatInfoArray sortedArrayUsingComparator:^NSComparisonResult(SeatInfoModel *obj1, SeatInfoModel *obj2) {
NSTimeInterval time1 = obj1.end_unixtime.doubleValue;
NSTimeInterval time2 = obj2.end_unixtime.doubleValue;
if (time1<time2) {
return NSOrderedAscending;
}
else
{
return NSOrderedDescending;
}
}];
方法三:
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"createTime" ascending:YES];
[_array sortUsingDescriptors:[NSArray arrayWithObject:sort]];
如: [_cards sortUsingSelector:@selector(isSortByContactName:)];
[_cards sortUsingSelector:@selector(isSortBYPhoneNumber:)];
-(BOOL)isSortByContactName:(Card *)aCard
{
if ([_contactName compare:[aCard contactName]] ==NSOrderedDescending) {
return YES;
}
return NO;
}
-(BOOL)isSortBYPhoneNumber:(Card *)aCard
{
if (_phoneNum>[aCard phoneNum]) {
return YES;
}
return NO;
}
方法二: sortedArrayUsingComparator:
_seatInfoArray = [_seatInfoArray sortedArrayUsingComparator:^NSComparisonResult(SeatInfoModel *obj1, SeatInfoModel *obj2) {
NSTimeInterval time1 = obj1.end_unixtime.doubleValue;
NSTimeInterval time2 = obj2.end_unixtime.doubleValue;
if (time1<time2) {
return NSOrderedAscending;
}
else
{
return NSOrderedDescending;
}
}];
方法三:
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"createTime" ascending:YES];
[_array sortUsingDescriptors:[NSArray arrayWithObject:sort]];
相关文章推荐
- 去除windows的Shift+Space 全角半角切换
- mybatis快速入门
- Android 项目从Eclipse/IDEA 迁移到 Android Studio
- eclipse 插拔式 添加svn插件
- 1-2 Zabbix web界面支持中文
- Redis应用场景
- Linux下定时执行脚本/crontab
- 碎片:Fragment
- 【chrome插件】web版微信接入图灵机器人API实现自动回复
- json处理2-语法
- Divide Two Integers C#
- 数据库及实例信息管理
- sizeof
- appium源码分析(十一)-getSize,getLocation
- 关于string::size_type
- Eclipse 不能finish android工程
- instancetype和id的异同
- VS2012 编译 Assimp
- (转)sizeof
- cell下载图片的思路 --无沙盒(内存)缓冲