我想基于字段的intValue使用NSSortDescriptor对数组进行排序。这完全可以使用以下代码:
descriptor2 = [NSSortDescriptor sortDescriptorWithKey:@"lowerPrice.floatValue" ascending:YES];
唯一的问题是这个字段无论如何都包含一个值,所以有些值为0.但是,在我的排名中,0应该是绝对的最后一个。基本上,0.1应该是第一个,一直到让50说,然后是0' s。但是按升序使用floatValue,我显然首先得到了0。
解决这个问题最优雅,最简单的方法是什么?
答案 0 :(得分:1)
使用sortedArrayUsingComparator:
,它使用一个被调用的块来比较元素对并返回它们的顺序。在块中第一次测试零并返回适当的排序(两个零相等,零大于其他任何东西),如果没有基于真实数字排序的零返回。
HTH