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:39:17 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