Сортировка NSArray в обратном порядке
NSArray* sortedArray = [myArray sortedArrayUsingSelector:@selector(compare:)];
Просто интересно, как я могу сортировать этот массив чисел в порядке убывания?
Ответы
Ответ 1
Используйте метод, который позволяет вам передать блок в качестве компаратора и реализовать компаратор, который меняет объекты (возвращает NSOrderedAscending для NSOrderedDescending и наоборот)....
... или:
NSArray *reversed = [[[myArray sortedArrayUsingSelector:@selector(compare:)] reverseObjectEnumerator] allObjects];
К сожалению. Исключена самая важная часть.
Ответ 2
Используйте NSSortDescriptor
NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO];
NSArray *temp = [myArray sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]];