Gypsa Gypsa - 1 year ago 83
Objective-C Question

Sorting Array in increasing order

I have an array that contains values like 0,3,2,8 etc.I want to sort my array in increasing order.Please tell me how to do this.

Thanks in advance!!

Answer Source

If your array is an NSArray containing NSNumbers:

NSArray *numbers = [NSArray arrayWithObjects:
                    [NSNumber numberWithInt:0],
                    [NSNumber numberWithInt:3],
                    [NSNumber numberWithInt:2],
                    [NSNumber numberWithInt:8],

NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:nil ascending:YES selector:@selector(localizedCompare:)];
NSArray *sortedNumbers = [numbers sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];

Keep in mind though, that this is just one way to sort an NSArray.

Just to name a few other methods of NSArray:

If your array is a c int array containing ints:

#include <stdio.h>
#include <stdlib.h>
int array[] = { 0, 3, 2, 8 };
int sort(const void *x, const void *y) {
    return (*(int*)x - *(int*)y);
void main() {
    qsort(array, 10, sizeof(int), sort);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download