我有一个NSMutableArray
的iOS应用,会在UITableView
中显示。该数组通常只包含数字(因为这是主要目的),但有时会包含一些字母。在显示之前发生在阵列上的最后一件事是使用[customerArray sortUsingSelector:@selector(compare:)];
按字母顺序排序。但是,当我运行应用程序时,如果数组包含具有不同数字位数的数字(例如:0 - 20),那么10s会在1之后而不是9之后排序。有没有办法让数字正确排序数值?如有必要,我很乐意提供更多信息,代码或截图。非常感谢任何帮助。
答案 0 :(得分:0)
这种对我的代码的思考可以帮助你:
NSArray *arr = @[@"0",@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10",@"11",@"12",@"13",@"14",@"15",@"16",@"17",@"18",@"19",@"20"];
NSMutableArray *arrM = [NSMutableArray arrayWithArray:arr];
NSArray *arr2= [arrM sortedArrayUsingComparator:^(id objA,id objB){
return (NSInteger)([objA integerValue] > [objB integerValue]);//ascending
//return (NSInteger)([objA integerValue] < [objB integerValue]);//descending
}];
NSLog(@"%@",arr2);
希望对你有所帮助! hahahahahha ~~~