2011-04-27 4 views
0

다차원 NSMutableArray가 있는데 객체 중 하나에서 정렬하려고합니다. 배열 때문에 생성된다하나의 (정수) 객체를 사용하여 다차원 가변 배열을 정렬하려고합니다.

 [NSMutableArrayName addObjectsFromArray:[NSMutableArray arrayWithObjects:[NSMutableArray arrayWithObjects:name,[NSNumber numberWithInteger:x],nil],nil]];  

I은 ​​제 2 물체 (정수 X)의 값을 이용하여 전체 어레이를 정렬하는 방법을 찾을 수 없다.

항상 감사드립니다.

답변

4

이 경우는 sortUsingComparator:의 경우와 같습니다. 당신이 뭔가를 같이 사용 :

[NSMutableArrayName sortUsingComparator:^NSComparisonResult(id o1, id o2){ 
    NSInteger a = [[o1 objectAtIndex:1] integerValue]; // Or however to extract the int from your array element 
    NSInteger b = [[o2 objectAtIndex:1] integerValue]; 

    if (a < b) return NSOrderedAscending; 
    if (a > b) return NSOrderedDescending; 
    return NSOrderedSame; 
}]; 

당신이 사전 iOS 4.0 버전 타겟팅하는 경우, 당신은 sortUsingFunction:context:를 사용하고, C 스타일의 기능에 블록 내용을 넣어 거의 같은 일을 수행 할 수 있습니다.

+0

와우. 그것은 정말 인상적이며 위대한 작품입니다. 감사 Anomie – Jeremy

관련 문제