2010-12-10 1 views
0

안녕하세요, 저는 Objective-C를 처음 사용하고 새로운 시도를하고 있습니다. "values"라는 NSArray가 있습니다. 그것은 배열의 배열입니다. 그것은 보인다 : 6872,5523,0091, "0"= ""aString "]중첩 된 NSArray로 NSArray를 정렬하는 방법

[="1 ">"anotherString "4422,1234,0091]

[" 2 "=>"aString ", 6812,2143,0314] ...

첫 번째 정수 값보다"값 "배열을 어떻게 정렬합니까? NSPredicate를 사용해야합니까? 몇 가지 예를 들어 도와주세요. 감사

답변

3

블록 뭐 그런 (당신의 정수 값의 NSNumber 또는 비교 될 수있는 몇 가지 클래스를 것을 가정) 솔루션에 대한

NSArray *sortArray = [yourArray sortedArrayUsingComparator: ^(id elt1, id elt2) { 
    return [[elt1 objectAtIndex:1] compare:[elt2 objectAtIndex:1]]; 
    } ]; 
+0

감사합니다. 이 메소드를 사용하여 또 다른 정적 NSInteger intSort (id num1, id num2, void * context)를 찾았습니다. { int v1 = [[num1 objectAtIndex : 1] intValue]; int v2 = [[num2 objectAtIndex : 1] intValue]; if (v1 v2) return NSOrderedAscending; else return NSOrderedSame; } 및 다음 선언 : [값 sortedArrayUsingFunction : intSort context : NULL] 여기서 value는 정렬 할 객체가있는 NSArray입니다. – Cerve86