Сортировать массив NSString пользовательским методом - PullRequest
1 голос
/ 15 ноября 2010

Как бы я мог отсортировать массив объектов NSString с помощью специального метода.Например, у меня есть метод

-(int)calculateValue:(NSString *)aString

Я хотел бы отсортировать массив в порядке убывания на основе возвращенного значения из этого метода.Так, например, у меня есть массив

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"Apple", @"Bee", @"Super", nil];

Теперь, если я вызову Calculate для каждой из этих строк, он может вернуть значения, такие каки "Super" = 3. Теперь я пытаюсь отсортировать этот массив на основе возвращенного значения для каждой строки NSString из метода Calculate.Итак, отсортированный массив будет выглядеть так:

[Bee, Apple, Super]

1 Ответ

3 голосов
/ 15 ноября 2010

См. -sortedArrayUsingSelector: .Вы передадите селектор, как @selector(myComparisonMethod:).Ваш метод сравнения должен вернуть NSComparisonResult, например NSOrderedAscending, NSOrderedDescending или NSOrderedSame.

...