Поэтому у меня есть массив около 180 словарей, Есть 5 объектов в каждом словаре (3 строки и 2 NSNumbers)Сортировка массива словарей по номеру
Я пытаюсь разобраться каждый словарь одним из его свойств, это отлично работает для строк, но когда дело доходит до числа, которое оно неправильно сортирует.
-(void) sortArrayBy:(int)sortingNumber {
switch (sortingNumber) {
case 0:
NSLog(@"sorting by atomicnumber");
[self.elementsArray sortUsingDescriptors:[NSArray arrayWithObjects:
// When sorting this comes back the same each time but not in the correct order
[NSSortDescriptor sortDescriptorWithKey:@"ATOMIC NUMBER" ascending:YES], nil]];
break;
case 1:
NSLog(@"sorting by name");
[self.elementsArray sortUsingDescriptors:[NSArray arrayWithObjects: [NSSortDescriptor sortDescriptorWithKey:@"ELEMENT NAME" ascending:YES], nil]];
break;
case 2:
NSLog(@"sorting by symbol");
[self.elementsArray sortUsingDescriptors:[NSArray arrayWithObjects: [NSSortDescriptor sortDescriptorWithKey:@"CHEMICAL SYMBOL" ascending:YES], nil]];
break;
case 3:
NSLog(@"sorting by mass");
// When sorting this comes back the same each time but not in the correct order
[self.elementsArray sortUsingDescriptors:[NSArray arrayWithObjects: [NSSortDescriptor sortDescriptorWithKey:@"ATOMIC MASS" ascending:YES], nil]];
break;
default:
break;
}
Care для уточнения «последовательных, но не правильно ", пожалуйста? Например, «1, 20, 3» является «конституированным * и * правильным» для определенных приложений. – usr2564301
Не могли бы вы привести пример «последовательной, но неправильной» сортировки? Покажите нам подпоследовательность после сортировки и укажите элементы вне порядка. – dasblinkenlight
Я имею в виду, что каждый раз, когда я сортирую его, он возвращается одинаково, но порядок неправильный. – flux