배열 정렬sortUsingDescriptors: 등

2138 단어

- (void)sortUsingDescriptors:(NSArray *)sortDescriptors;


이 방법의 역할은 주어진 정렬 묘사자를 이용하여 대상을 정렬하는 것이다.
  • (instancetype)sortDescriptorWithKey:(nullable NSString *)key ascending:(BOOL)ascending
  • (instancetype)initWithKey:(nullable NSString *)key ascending:(BOOL)ascending
  • key :  key,  ;  ,  nil
    ascending :  , YES- , NO- 
    

    매개 변수 한번 볼게요.
    sortDescriptors: 수신 배열의 내용을 정렬하는 NSSortDescriptor 객체의 배열을 포함합니다.예시 코드를 보다
    - (void)demoSortDescription
    {
        NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"2030",@"year", @"1",@"month",nil];
        NSDictionary *dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"2010",@"year", @"2",@"month", nil];
        NSDictionary *dic3 = [NSDictionary dictionaryWithObjectsAndKeys:@"2050",@"year", @"3",@"month" ,nil];
        NSDictionary *dic4 = [NSDictionary dictionaryWithObjectsAndKeys:@"2014",@"year",  @"4",@"month",nil];
        NSDictionary *dic5 = [NSDictionary dictionaryWithObjectsAndKeys:@"2050",@"year",  @"4",@"month",nil];
        
        NSMutableArray *arrM = [NSMutableArray arrayWithObjects:dic1, dic2, dic3, dic4, dic5, nil];
        
        NSSortDescriptor *descripor = [NSSortDescriptor sortDescriptorWithKey:@"year" ascending:YES];
        NSSortDescriptor *descripor2 = [NSSortDescriptor sortDescriptorWithKey:@"month" ascending:YES];
        [arrM sortUsingDescriptors:[NSArray arrayWithObjects:descripor, descripor2, nil]];// , 
        
        NSLog(@"resultArr = %@", arrM);
    }
    

    출력 결과 보기
    2017-08-26 23:51:46.047 JJOC[18488:495473] resultArr = (
            {
            month = 2;
            year = 2010;
        },
            {
            month = 4;
            year = 2014;
        },
            {
            month = 1;
            year = 2030;
        },
            {
            month = 3;
            year = 2050;
        },
            {
            month = 4;
            year = 2050;
        }
    )
    

    결론: 정렬 묘사자를 이용하여 정렬한다.
    참조 링크:https://www.jianshu.com/p/2e09f9d30a40

    좋은 웹페이지 즐겨찾기