iphone - 排序 2D NSMutableArray

标签 iphone objective-c ios sorting nsmutablearray

我有如下二维数组:

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];

现在,我想对世界数组进行排序以获得以下结果,

XYZ 6
DEF 5
LMN 3
ABC 2
PQR 1

谁能帮帮我, 提前致谢...

最佳答案

您可以使用 sortedArrayUsingComparator:通过自定义排序代码块对数组进行排序。试试这个:

NSArray *sortedWorld = [world sortedArrayUsingComparator:^(id a, id b) {
    NSNumber *numA = [a objectAtIndex:1];
    NSNumber *numB = [b objectAtIndex:1];
    return [numB compare:numA];
}];

关于iphone - 排序 2D NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10477575/

相关文章:

ios - 是通过编程方式将设备iPhone或iPad

iphone - 使用 iPhone 的音量增大按钮拍摄照片

objective-c - 将工具栏添加到 INAppStoreWindow

ios - 带有 NSAttributedString(s) 的简单 UIAlertView

iphone - 当用户点击“编辑”按钮时重做 UITableView 布局?

ios - 如何在 Storyboard 中将 View 移动到另一个 View 内

iphone - 修复 0,0,320,45 中 TableView 的表头?

ios - 来自字典的 JSON 编码 [无法调用 'dataWithJSONObject ...]

iphone - MGTwitter,找不到 libxml/xmlversion.h 文件

ios - NSArray 检索单个项目