在一个数组中,进行,多项元素的排序
[_dataList sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
BOOL obj1isRead = [[obj1 objectAtIndex:2] boolValue];
BOOL obj2isRead = [[obj2 objectAtIndex:2] boolValue];
int obj1idnum = [[obj1 objectAtIndex:4] intValue];
int obj2idnum = [[obj2 objectAtIndex:4] intValue];
if (obj1isRead > obj2isRead){
return NSOrderedDescending;
}else if (obj1isRead < obj2isRead && obj1idnum < obj2idnum) {
return NSOrderedDescending;
}else if(obj1isRead < obj2isRead && obj1idnum > obj2idnum){
return NSOrderedAscending;
}
return NSOrderedSame;
}
];
输出结果:
(
(
"\U4e2d\U56fd4",
"\U6854\U5b50\U8f74\U7a81",
0,
67,
5
),
(
"\U4e2d\U56fd",
"\U6854\U5b50\U8f74\U7a81",
0,
65,
3
),
(
"\U4e2d\U56fd",
"\U6854\U5b50\U8f74\U7a81",
0,
64,
2
),
(
"\U4e2d\U56fd3",
"\U6854\U5b50\U8f74\U7a81",
1,
66,
4
),
(
"\U5929\U6d25",
"\U53d1\U751f\U4e86\U4ec0\U4e48\U4e8b",
1,
63,
1
)
)
你能看的出的
数组多重条件排序
本文介绍了一个使用Objective-C实现的数组排序方法,该方法基于两个条件对数组中的元素进行排序:首先是布尔值比较,其次是在布尔值相同时进行整数比较。通过这种方式可以灵活地对包含不同类型数据的数组进行有效排序。

被折叠的 条评论
为什么被折叠?



