leicht gemacht: Array sortieren

Hallo Zusammen,

in dem Tutorial zur Kontakte App hatten wir ein Array mit darin enthaltenen Namen als Datengrundlage. Dieses contactsArray hatte den großen Vorteil, dass es bereits alphabetisch sortiert war. Da das nicht immer der Fall sein muss, zeige ich heute kurz wie man ein Array sortieren kann.

Mit der Methode sortedArrayUsingComparator wird ein alphabetisch absteigend sortiertes NSArray erzeugt. Sofern wir mit dem Array danach weiter arbeiten möchten, benötigen wir eine veränderbare Kopie – diese erstellen wir mit mutableCopy.

    NSArray *sortedContacts = [self.contactsArray sortedArrayUsingComparator: ^(NSString *name1, NSString *name2) {
        return [name1 compare:name2];
    }];
    self.contactsArray = [sortedContacts mutableCopy];

Die Methode ist jedoch nicht auf Strings beschränckt. Es ist auch möglich eigene Objekte zu vergleichen. In dem folgenen Beispiel nutze ich ein Object Contact welches einen Namen als property hat. In dem sortierten Array sind nun alle Kontake anhand ihres Namen alphabetisch absteigend sortiert.

    NSArray *sortedContacts = [self.contactsArray sortedArrayUsingComparator: ^(Contact *contact1, Contact *contact2) {
        return [contact1.name compare:contact2.name];
    }];
    self.contactsArray = [sortedContacts mutableCopy];

Bis bald.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.