如何按特定属性按降序对自定义对象的NSArray进行排序?

时间:2013-10-07 04:27:54

标签: ios sorting nsarray compare

如何使这段代码按降序排序。这段代码总是按升序给出数组:

NSArray *sortedProductsByStyle = [unsortedProducts sortedArrayUsingComparator: ^(Product *p1, Product *p2) {
        return [p1.productStyle compare:p2.productStyle options:NSNumericSearch];
    }];

我认为使用NSOrderedDescending会起作用但不会:

NSArray *sortedProductsByStyle = [unsortedProducts sortedArrayUsingComparator: ^(Product *p1, Product *p2) {
        return [p1.productStyle compare:p2.productStyle options:NSNumericSearch | NSOrderedDescending];
    }];

有什么想法吗?

2 个答案:

答案 0 :(得分:4)

如何反转比较顺序?

NSArray *sortedProductsByStyle = [unsortedProducts sortedArrayUsingComparator: ^(Product *p1, Product *p2) {
    return [p2.productStyle compare:p1.productStyle options:NSNumericSearch];
}];

答案 1 :(得分:-1)

试试这种方式......

sortedArray = [unsortedProducts sortedArrayUsingComparator:^(Product p1 , Product p2) {
            return [((NSString *)p1.productStyle) compare:((NSString *)p2.productStyle) options:NSNumericSearch];
        }];

如果您有任何问题,请告诉我。