Сортировать NSArray в порядке убывания - PullRequest
34 голосов
/ 04 августа 2010

У меня есть NSArray из NSNumber объектов, которые я успешно отсортировал в порядке возрастания с использованием следующего:

[myArray sortedArrayUsingSelector:@selector(compare:)]

Однако мне нужно отсортировать это в порядке по убыванию . Я так понимаю, что compare: сортирует только в порядке возрастания. Хотя я могу пойти вспять NSArray, мне любопытно, есть ли более простой или более эффективный способ сделать это.

РЕДАКТИРОВАТЬ : я нашел этот вопрос , который предоставляет простой способ отменить итерацию NSArray:

for (id someObject in [myArray reverseObjectEnumerator])

Это прекрасно работает, я думаю, это хорошее простое решение, но мне любопытно, есть ли способ указать сортировку по убыванию.

Ответы [ 11 ]

0 голосов
/ 05 марта 2015

Если вам нужно на основе ABCD в порядке возрастания, используйте следующий код

NSSortDescriptor *descriptor=[[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES];
NSArray *descriptors=[NSArray arrayWithObject: descriptor];
NSArray *reverseOrder=[yourArray sortedArrayUsingDescriptors:descriptors];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...