Подтвердить что ты не робот

Сортировка NSArray в обратном порядке

NSArray* sortedArray = [myArray sortedArrayUsingSelector:@selector(compare:)];

Просто интересно, как я могу сортировать этот массив чисел в порядке убывания?

4b9b3361

Ответ 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]];