How to sort alphanumeric word in array in ios?

I have a array with 10 elements called products which is sorted by default, this is the current log now.

for (int i=0;i<products.count; i++)

{

     NSLog(@"%@",products[i]);

}

The Output:

Product1

Product10

Product2

Product3

Product4

Product5

Product6

Product7

Product8

Product9

I need to sort it in following order:

Product1

Product2

Product3

Product4

Product5

Product6

Product7

Product8

Product9

Product10

Last updated:11/12/2014 2:38:29 AM

1 Answers

Royce Roy
Royce Roy

You can use this code to sort array. Use  to search the numeric value in string.

NSArray * products = [[NSArray alloc] initWithObjects:@'Product1',@'Product10',@'Product2',@'Product3',@'Product4',@'Product5',@'Product6',@'Product7',@'Product8',@'Product9', nil];
products = [products sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        return [(NSString *)obj1 compare:(NSString *)obj2 options:NSNumericSearch];
    }];
NSLog(@'products : %@', products);
And the log display :
products : (
    Product1,
    Product2,
    Product3,
    Product4,
    Product5,
    Product6,
    Product7,
    Product8,
    Product9,
    Product10
)

Answer