//初始化二维数组 NSArray *sortArray = [[NSArrayalloc] initWithObjects:[NSArrayarrayWithObjects:@"file1",@"adsfsa", nil], [NSArrayarrayWithObjects:@"file4",@"asfdasfs", nil], [NSArrayarrayWithObjects:@"file2",@"wefxdfsf", nil], [NSArrayarrayWithObjects:@"file3",@"fgsdaq", nil], nil]; //将二维数组赋值给字典 NSMutableDictionary *dic=[[NSMutableDictionaryalloc] init]; for (int i=0; i<sortArray.count; i++) { [dic setObject:sortArray[i][1] forKey:sortArray[i][0]]; } //把key进行降序排序 NSArray* arr1 = [dic allKeys]; arr1 = [arr1 sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){ NSComparisonResult result = [obj1 compare:obj2]; return result==NSOrderedDescending; }]; //按照降序输出 for(NSString* str in arr1) { NSLog(@"%@:%@",str, [dic objectForKey:str]); } NSLog(@"=============="); //把key进行升序排序 NSArray* arr = [dic allKeys]; arr = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){ NSComparisonResult result = [obj1 compare:obj2]; return result==NSOrderedAscending; }]; //按照升序输出 for(NSString* str in arr) { NSLog(@"%@:%@",str, [dic objectForKey:str]); }
结果:
2016-04-13 21:27:47.538 Sorting contrast[3553:261277] file1:adsfsa 2016-04-13 21:27:47.539 Sorting contrast[3553:261277] file2:wefxdfsf 2016-04-13 21:27:47.539 Sorting contrast[3553:261277] file3:fgsdaq 2016-04-13 21:27:47.539 Sorting contrast[3553:261277] file4:asfdasfs 2016-04-13 21:27:47.539 Sorting contrast[3553:261277] ============== 2016-04-13 21:27:47.539 Sorting contrast[3553:261277] file4:asfdasfs 2016-04-13 21:27:47.540 Sorting contrast[3553:261277] file3:fgsdaq 2016-04-13 21:27:47.540 Sorting contrast[3553:261277] file2:wefxdfsf 2016-04-13 21:27:47.540 Sorting contrast[3553:261277] file1:adsfsa