Sort an NSArray in Descending Order

前端 未结 11 1202
死守一世寂寞
死守一世寂寞 2020-12-08 02:23

I have an NSArray of NSNumber objects that I have successfully sorted in ascending order using the following:

[myArray sortedArrayU         


        
11条回答
  •  暖寄归人
    2020-12-08 03:06

    For Example Data is Like this and we want to sort NSArray based on sId key.

    <__NSArrayM 0x7ffc725af1d0>(
    {
        sId = 3;
        vName = ABC;
    },
    {
        sId = 10;
        vName = DEF;
    },
    {
        sId = 9;
        vName = GHI;
    },
    {
        sId = 7;
        vName = JKL;
    },
    {
        sId = 1;
        vName = MNO;
    }
    )
    

    Solution is as Below

    NSArray *sortedArray = [arrOptions sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        if ([[obj1 valueForKey:@"sId"] integerValue] > [[obj2 valueForKey:@"sId"] integerValue]) {
            return (NSComparisonResult)NSOrderedDescending;
        }
        if ([[obj1 valueForKey:@"sId"] integerValue] < [[obj2 valueForKey:@"sId"] integerValue]) {
            return (NSComparisonResult)NSOrderedAscending;
        }
        return (NSComparisonResult)NSOrderedSame;
    }];
    NSLog(@"Sorted Service Array is ::%@",sortedArray);
    

提交回复
热议问题