Sorting NSString values as if NSInteger using NSSortDescriptor

You can do this by implementing a custom comparator block when creating your NSSortDescriptor: NSSortDescriptor *aSortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@”sort” ascending:YES comparator:^(id obj1, id obj2) { if ([obj1 integerValue] > [obj2 integerValue]) { return (NSComparisonResult)NSOrderedDescending; } if ([obj1 integerValue] < [obj2 integerValue]) { return (NSComparisonResult)NSOrderedAscending; } return (NSComparisonResult)NSOrderedSame; }]; self.myList = [NSMutableArray arrayWithArray:[unsortedList sortedArrayUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]]]; See … Read more