我会这样做:
NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"TEST1", @"TITLE", [NSNumber numberWithInt:240], @"DISTANCE", nil];
NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"TEST2", @"TITLE", [NSNumber numberWithInt:43], @"DISTANCE", nil];
NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"TEST3", @"TITLE", [NSNumber numberWithInt:482], @"DISTANCE", nil];
NSSortDescriptor *distanceSort = [NSSortDescriptor sortDescriptorWithKey:@"DISTANCE" ascending:YES]; //Set 'NO' to order from biggest to lowest
NSArray *sortedArrayOfDic = [[NSArray arrayWithObjects:dic1, dic2, dic3, nil] sortedArrayUsingDescriptors:[NSArray arrayWithObjects:distanceSort, nil]];
NSLog(@"%@", sortedArrayOfDict);
输出将是一个按距离排序的字典数组,例如:
"43", "TEST2"
"240", "TEST1"
"482", "TEST3"