Ich habe ein Array von Objekten, die aus zwei Eigenschaften bestehen: einem NSString
und einem BOOL
. Ich möchte dieses Array so sortieren, dass alle BOOL
s, die YES
sind, vor allen Bools angezeigt werden, die NO
sind. Dann möchte ich für die Liste der Objekte, die das BOOL YES
alphabetisiert haben und ich möchte auch, dass die Objekte mit dem NO
alphabetisiert werden. Gibt es eine Art von Bibliothek, die dies in objektiven c erreichen kann? Wenn nicht, was ist der effizienteste Weg, dies zu tun?
Sie können NSSortDescriptor
s zum Sortieren verwenden:
Sie können mehr über das Sortieren mit Deskriptoren hier .
Eine Alternative zur Verwendung von Sortierdeskriptoren ist die Verwendung von NSComparator
:
Bitte beachten Sie, dass ich die letzten zwei rückwärts haben kann. Wenn dies die Nein-Werte vor den Ja-Werten sortiert, vertauschen Sie die letzten beiden Rückgabewerte.
Suchen Sie nach NSSortDescriptors. Erstellen Sie zwei, einen für die Zeichenfolge, einen für die Bool. Dann füge beide zu einem Array hinzu. Verwenden Sie dann die NSArray-Methode sortedArrayWiyhDescriptors.
Tags und Links objective-c ios cocoa-touch