Начиная с iOS4, вы можете использовать компараторы с этим сообщением NSArray:
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr
вы могли бы написать что-то вроде этого:
NSArray *sortedArray = [unsortedArray sortedArrayUsingComparator:^(id object1, id object2) { // return NSComparisonResult ... }]
Другая возможность - определить функцию переменного тока, которая используется какобратный вызов с этим сообщением NSArray:
- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context
Посмотрите в документации NSArray, есть также сообщения для сортировки с помощью селекторов или дескрипторов.Это зависит от того, что подходит вам лучше всего.