Ana*_*and 2 sorting iphone objective-c nsmutablearray ios
我有2D数组如下:
NSMutableArray *world=[[NSMutableArray alloc]init];
NSNumber *number;
NSMutableArray *inner;
int scr=2;
number=[[NSNumber alloc]initWithInt:scr];
inner=[[NSMutableArray alloc]initWithObjects:@"ABC",number,nil];
[world addObject:inner];
scr=6;
number=[[NSNumber alloc]initWithInt:scr];
inner=[[NSMutableArray alloc]initWithObjects:@"XYZ",number,nil];
[world addObject:inner];
scr=1;
number=[[NSNumber alloc]initWithInt:scr];
inner=[[NSMutableArray alloc]initWithObjects:@"PQR",number,nil];
[world addObject:inner];
scr=5;
number=[[NSNumber alloc]initWithInt:scr];
inner=[[NSMutableArray alloc]initWithObjects:@"DEF",number,nil];
[world addObject:inner];
scr=3;
number=[[NSNumber alloc]initWithInt:scr];
inner=[[NSMutableArray alloc]initWithObjects:@"LMN",number,nil];
[world addObject:inner];
Run Code Online (Sandbox Code Playgroud)
现在,我想对world数组进行排序以获得以下结果,
XYZ 6
DEF 5
LMN 3
ABC 2
PQR 1
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我,提前谢谢...
您可以使用sortedArrayUsingComparator:自定义排序代码块对数组进行排序.尝试一下这个:
NSArray *sortedWorld = [world sortedArrayUsingComparator:^(id a, id b) {
NSNumber *numA = [a objectAtIndex:1];
NSNumber *numB = [b objectAtIndex:1];
return [numB compare:numA];
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
534 次 |
| 最近记录: |