1

由于我的要求,我需要对我进行排序NSMutableArray并且需要在该数组中放置唯一值。

这是我的代码,但我面临一个问题,即我得到两个数组:一个具有不同的值,另一个没有不同的值但已排序。

/ *Making the years unique so that it will display only once*/
        mSortingArray = [mYearsArray valueForKeyPath:@"@distinctUnionOfObjects.self"] ;
        NSLog(@"mSortingArray%@",mSortingArray);

        /*Sorting the array to get the years in assending format*/
        NSSortDescriptor *sortDescriptor;
        sortDescriptor = [[NSSortDescriptor alloc]initWithKey:@"self"ascending:YES];
        NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
        [mYearsArray sortUsingDescriptors:sortDescriptors];
        NSLog(@"%@ :%@",mYearsArray,sortDescriptors);

如何在一个数组中获得两个结果?

4

1 回答 1

7

您不能在单个操作中执行此操作,但可以将排序描述符应用于唯一操作的结果:

 NSArray *uniqueArray = [mYearsArray valueForKeyPath:@"@distinctUnionOfObjects.self"];
 NSArray *sortedUniqueArray = [uniqueArray sortedArrayUsingDescriptors:sortDescriptors];
 mYearsArray = [sortedUniqueArray mutableCopy];
于 2013-08-05T11:20:50.040 回答