수조의 몇 가지 정렬법

1721 단어
<1> 설명: 문자열 대상은 모두 정렬할 수 있습니다//설명 대상을 만드는 것은 그룹을 정렬하는 것입니다. 이것은 그룹의 요소의 어떤 속성을 키로 오름차순 또는 내림차순으로 배열할 수 있습니다. 모든 NSSortDescriptor 설명은 정렬 조건입니다//설명 정렬은 사실 조건에 따라 오름차순 정렬할 수 있습니다/키: 바로 정렬할 대상입니다//ascending: 오름차순 또는 내림차순
//<1> 배열 생성 NSMutable Array *ms = [[NSMutable Array alloc] initWithObjects: @ "kkk", @ "abg",nil];
//<2> 설명 대상 만들기: 이 그룹에 하나의 문자열이 저장되어 있다면 키 값은 nil 또는 @ "self"라고 써야 하고 대상이라면 대상의 속성으로 쓰면 됩니다
NSSortDescriptor *mm = [[NSSortDescriptor alloc]initWithKey:@"self"ascending:YES];
NSSortDescriptor *nn = [[NSSortDescriptor alloc]initWithKey:@"name"ascending:YES];
//<3> 설명 방법으로 상기 설명 대상의 조건을 만족시키고 위의 그룹을 정렬합니다 [mssortUsingDescriptors:@[mm].NSLog(@"%@",ms);
<4> 가변 수조의 설명 방법은 [수조 이름sortUsingDescriptors:@ "설명 대상의 이름"]
<5> 변할 수 없는 그룹의 설명 방법은 NSArray *array = [그룹 이름sortedArray UsingDescriptors: @ "설명 대상의 이름"]
<2>compare는 이 방법을 사용하여 수조를 정렬합니다//<1>수조 NSArray*kkl = @[@ "4", @ "3", @ "5", @ "1"];
//<2> 그룹에서compare 정렬 방법을 호출합니다. 이 방법은 기본적으로 승차순입니다. [kkl sorted Array Using Selector: @selector (compare:)]
<3> 우리도 이 방법을 다시 쓸 수 있다. 자신의 조건에 따라 정렬한다//이름에 따라 비교한다:compare: 방법은 문자열이 가지고 있는 방법이다
사용자 정의 방법 비교 방법 - (NSComparison Result) compareBy Name: (Student *) other {return [self.name compare: other.name];//속성이 문자열이기 때문에 이 블록에서compare로 직접 비교한 다음 비교 결과를 되돌려주면 됩니다.
}

//연령별 비교
4
  • (NSComparison Result) compareByAge: (Student *) other {if(self.age > other.age) {//기본 유형을 비교하면 직접 대비하는return 1;else if (self.age < other.age){ return -1; }else{ return 0; } }

  • 열거 정렬:

    좋은 웹페이지 즐겨찾기