I am trying to sort an array of prices from low to high. I have it working but not the way I want it to. Long story short, the sorter is putting numbers in order like this: 100 10900 200 290
instead of sorting like this
100 200 290 10900
here is my code I am doing this with.
-(void)filterPriceLowHigh {
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"ListPrice"
ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [app.vehiclesArrayToDisplay
sortedArrayUsingDescriptors:sortDescriptors];
[app.vehiclesArrayToDisplay removeAllObjects];
[app.vehiclesArrayToDisplay addObjectsFromArray:sortedArray];
}
Could someone tell me what I need to do here? thanks in advance.
Create the sort descriptor like this:
sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"ListPrice"
ascending:YES
comparator:^(id obj1, id obj2) {
return [obj1 compare:obj2 options:NSNumericSearch];
}];
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With