2009-11-05 5 views
1

게임에 다음 데이터가 있다고 가정합니다. 나는 cocos2d에서 게임을 개발했다.nsmutable 배열로 정렬

Name Score 
Sagar 10000 
Amit  2000 
Vishal  90 

상기 데이터는 plist 파일에 저장됩니다.

Plist에는 루트로 배열이 있습니다.

그 안에는 사전이 10 개 있습니다.

각 사전에는 두 개의 값이 있습니다. 문자열 값 - 번호 값을 이름 -

내가 있는 NSMutableArray * X = 사용 점수 [[있는 NSMutableArray의 ALLOC를] initWithContentsOfFile을 "Sagar.plist"@]

이 가변 배열을 점수순으로 정렬하고 싶습니다.

어떻게 가능합니까?

(중복 질문입니까?)

미리 감사드립니다.

사가르는

답변

8

는 정렬 디스크립터를 사용합니다.
1

등등 [NSMutableArray sortUsingDescriptors:], [NSMutableArray sortUsingComparator:]과를 참조하십시오. NSMutableArray는 여러 가지 정렬 방법을 제공합니다. 이 경우, 10.5 이전에 호환되어야하고 Snow Leopard 앱의 비교 메소드가 필요한 경우 설명자 메소드를 사용합니다. 내가 아이폰을 믿는

+0

내 질문이 조금 선생님을 수정 : –

+0

이것은 나를 위해 작동하지 않았다 ... 그것은 충돌한다 : ( – Abha

1

이 옵션은

- (void)sortUsingFunction:(NSInteger (*)(id, id, void *))compare context:(void *)context; 

- (void)sortUsingSelector:(SEL)comparator; 

있는 괜찮은 정보의 무리가 여기에 있습니다 : http://www.cocoadev.com/index.pl?SortUsingSelector

편집 : 으악! cocos2d를보고 iPhone의 질문이라고 생각했습니다.

NSSortDescriptor * sortByScore = [[[NSSortDescriptor alloc] initWithKey:@"Score" ascending:NO] autorelease]; 
NSArray * descriptors = [NSArray arrayWithObject:sortByScore]; 
NSArray * sorted = [x sortedArrayUsingDescriptors:descriptors]; 
+0

아니, 아니, 아이폰 질문이다. 나는 점수 저장을 위해 plist를 사용하고있다. plist를 가진 plist & array에 관한 질문이다. 걱정할 필요가 없다. 귀하의 주어진 링크를 연구 중입니다. –

관련 문제