когда использовать различные методы сортировки NSArray? - PullRequest
2 голосов
/ 29 сентября 2011

Документ объясняет, что такое методы сортировки NSArray, но может ли кто-нибудь подсказать, когда и почему вы будете использовать тот или иной метод? т.е. при каких обстоятельствах в вашем коде вы бы использовали метод XXX вместо метода YYY. Для:

  • sortedArrayUsingComparator
  • sortedArrayUsingDescriptors
  • sortedArrayUsingFunction: контекст
  • sortedArrayUsingSelector

1 Ответ

3 голосов
/ 29 сентября 2011

См. Темы программирования коллекции: сортировка массивов для получения более общей информации. Если вы просматриваете справочную документацию по классам, обязательно ознакомьтесь с «Руководствами для компаньонов», приведенными в списке, чтобы получить более практичные советы по работе классов.

По сути, sortedArrayUsingSelector: и sortedArrayUsingFunction:context: существуют с 10.0 / iOS 2.0. Они не так гибки, как другие методы, появившиеся позже.

Если у вас есть массив относительно простых объектов, таких как NSNumber с или NSString с, вы можете использовать [numbers sortedArrayUsingSelector:@selector(compare:)] для простой сортировки объектов.

Если, с другой стороны, у вас есть более сложный объект модели, имеющий несколько свойств, например, age, name, date, NSSortDescriptor s. Они были добавлены в OS X 10.3 / iOS 2.0. Позволяет вам сделать что-то вроде сначала сортировки по age, затем по name, а затем по date.

...