2012-11-07 15 views

Antwort

25

Entweder die Methode verwenden, die einen Block als Komparator passieren lässt und implementieren einen Komparator, der die Objekte (Returns NSOrderedAscending für NSOrderedDescending und umgekehrt) umkehrt ....

... oder:

NSArray *reversed = [[[myArray sortedArrayUsingSelector:@selector(compare:)] reverseObjectEnumerator] allObjects]; 

Entschuldigung. Den wichtigsten Teil abgenutzt.

+0

Der Kommentar ohne Code ist sinnvoll, aber die in dieser Antwort angegebene Codezeile kehrt das Array einfach um. Keine Sortierung wird tatsächlich durchgeführt. Es wäre besser, klar zu sagen, dass dies auf dem sortierten Array aufgerufen werden sollte. – rmaddy

+0

Yerp. Ich bedauerte den ursprünglichen Ausdruck. – bbum

7

Verwenden NSSortDescriptor

NSSortDescriptor* sortOrder = [NSSortDescriptor sortDescriptorWithKey: @"self" ascending: NO]; 
NSArray *temp = [myArray sortedArrayUsingDescriptors: [NSArray arrayWithObject: sortOrder]]; 
Verwandte Themen