How to sort NSArray of objects based on one attribute How to sort NSArray of objects based on one attribute ios ios

How to sort NSArray of objects based on one attribute


Use NSSortDescriptor. Just search the documentation on it and there some very simple examples you can copy right over. Here is a simplified example:

NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc] initWithKey:@"MyStringVariableName" ascending:YES];NSArray *descriptors = [NSArray arrayWithObject:valueDescriptor]; NSArray *sortedArray = [myArray sortedArrayUsingDescriptors:descriptors]; 

And just like that you have a sorted array.


You can do this by using NSSortDescriptor,

eg.

`NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc]initWithKey:@"distance" ascending:YES];`

// Here I am sorting on behalf of distance. You should write your own key.

NSArray * descriptors = [NSArray arrayWithObject:valueDescriptor];NSArray *sortedArray=[yourArray sortedArrayUsingDescriptors:descriptors];`