Возможно, вы захотите создать класс для описания значений, которые вы анализируете, и определить логику сортировки в этом классе. Простой пример
@interface MyClass : NSObject {
NSNumber *someNum;
NSString *someString;
...
}
@implementation MyClass
- (NSComparisonResult)compareNums:(MyClass *)myClassObject {
return [self.someNum compare:myClassObject.someNum];
}
- (NSComparisonResult)compareStringsDescending:(MyClass *)myClassObject {
return -1 * [self.someString compare:myClassObject.someString];
}
...
Теперь вы можете отсортировать множество объектов myClass, выполнив это в некотором viewcontroller:
NSArray *mySortedArray = [self.myOriginalArray sortedArrayUsingSelector:@selector(compareNums:)];
Надеюсь, это поможет