У меня есть приложение iOS с NSMutableArray
, которое отображается в UITableView
. Массив обычно содержит только числа (поскольку это основная цель), но иногда содержит некоторые буквы. Последнее, что происходит с массивом перед отображением, — это сортировка по алфавиту с использованием [customerArray sortUsingSelector:@selector(compare:)];
. Однако, когда я запускаю приложение, если массив содержит числа с разным количеством цифр (например: 0–20), 10 сортируются сразу после 1, а не после 9. Есть ли способ правильно отсортировать числа по численная величина? Я с удовольствием предоставлю дополнительную информацию, код или скриншоты, если это необходимо. Любая помощь очень ценится.
Как отсортировать массив по числовым значениям?
Ответы (1)
Это размышление о моем коде может помочь вам:
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);
Надеюсь, это поможет вам! хахахахха~~~
person
CJiYI
schedule
04.08.2016
@selector(compare:)
просто сравнивает строки и упорядочивает их. Здесь есть объяснение - person JustMe   schedule 04.08.2016