Try it. If you have an Array intArr, for example {1,10.11,12,2,23}
NSArray *array = [intArr copy]; NSArray *sortedArray = [array sortedArrayUsingComparator: ^(id obj1, id obj2) { if ([obj1 integerValue] == 0 && [obj2 integerValue] == 0) { return (NSComparisonResult)NSOrderedSame; } if ([obj1 integerValue] == 0) { return (NSComparisonResult)NSOrderedDescending; } if ([obj2 integerValue] == 0) { return (NSComparisonResult)NSOrderedAscending; } if ([obj1 integerValue] > [obj2 integerValue]) { return (NSComparisonResult)NSOrderedDescending; } if ([obj1 integerValue] < [obj2 integerValue]) { return (NSComparisonResult)NSOrderedAscending; } return (NSComparisonResult)NSOrderedSame; }];
source share