Objective-C: я хочу сравнивать / сортировать массивы по блокам - PullRequest
0 голосов
/ 28 мая 2018

При сортировке массива символьных строк я узнал, что сортировку можно легко выполнить с помощью следующего кода:

arr = [arr sortedArrayUsingSelector: @selector (localizedStandardCompare :)];

Однако на этот раз я хочу переставить экземпляр пользовательского класса.* Строковая информация может быть получена из метода экземпляра пользовательского класса.

Таким образом, возвращая NSComparisonResult с использованием следующей сортировки блоков, я подумал, что могу переставить экземпляр пользовательского класса, но он не двигалсякак я и ожидал.

- (NSArray <ObjectType> *) sortedArrayUsingComparator: (NSComparator) cmptr;

Если вы понимаете, пожалуйста, дайте мне знать.Спасибо.

1 Ответ

0 голосов
/ 28 мая 2018
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"Your Key" ascending:NO];
  NSArray *sortedArray=[yourArrayName sortedArrayUsingDescriptors:@[sort]];
...