Frage

Angenommen, ich habe folgende Daten in meinem Spiel. Ich habe entwickelt Spiel in cocos2d.

Name    Score
Sagar   10000
Amit     2000
Vishal     90

über Daten in Plist-Datei gespeichert.

Plist hat ein Array als Wurzel.

Innerhalb dass es 10-Wörterbuch ist.

Jedes Wörterbuch hat zwei Werte:

  • String-Werte - Name
  • Zahlenwert - Score

Wenn ich

NSMutableArray *x=[[NSMutableArray alloc] initWithContentsOfFile:@"Sagar.plist"];

Ich möchte nach Punkten dieses änderbaren Array sortieren.

Ist es möglich?

War es hilfreich?

Lösung

eine Art Descriptor Verwendung:

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

Andere Tipps

Siehe [NSMutableArray sortUsingDescriptors:] , [NSMutableArray sortUsingComparator:] und so weiter. NSMutableArray bietet verschiedene Methoden zum Sortieren. In diesem Fall würde ich die Descriptor-Methode verwenden, wenn ich vor dem 10.5 und das Komparator Verfahren für Snow Leopard-Anwendungen kompatibel sein benötigt.

Ich glaube, auf dem iPhone, Ihre Optionen sind

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

und

- (void)sortUsingSelector:(SEL)comparator;

gibt es eine Reihe von anständigen Informationen über sie hier: http://www.cocoadev.com/index.pl?SortUsingSelector

EDIT: hoppla! sah cocos2d und nahm es eine iPhone Frage war.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top