Sortieren-array in Swift Aufsteigend mit leeren Elementen

In Xcode (Swift) ich habe ein array initialisiert wird, um 100 leere Elemente:

var persons = [String](count:100, repeatedValue: "")

Mit einigen Funktionen, die ich hinzufügen von Inhalten zu den Orten, die in dem array, beginnend bei 0.

So zum Beispiel mein array ist auf einen bestimmten moment:

["Bert", "Daniel", "Claire", "Aaron", "", "", ... ""]

Mit den Punkten repräsentiert die Ruhe der leeren Elemente. Ich benutze diese Funktion für die Sortierung meiner array alphabetisch:

persons = persons.sorted {$0.localizedCaseInsensitiveCompare($1) == NSComparisonResult.OrderedAscending }

Das gibt mir ein array zurück wie diese:

["", "", ... , "Aaron", "Bert", "Claire", "Daniel"]

Was ich will, ist eine Art meine array alphabetisch, aber nicht mit den leeren Elementen an der front. Ich brauche, um ein array zurück wie:

["Aaron", "Bert", "Claire", "Daniel", "", "", ... , ""]

Ich für meinen Teil will nicht, dass ein array mit leeren Elementen, aber ich fand, ich konnte nicht fügen Sie einen Wert, um mein array, wenn ich nicht erklären, wie ein 100-Elemente (das array wird nicht gefüllt werden zu 100 items, das ist sicher).

Kann jemand mir helfen?

  • Nicht sicher, was du damit meinst "ich fand, ich konnte nicht fügen Sie einen Wert, um mein array, wenn ich nicht erklären, wie ein 100-Elemente". Meinst du, dass Sie nicht Anhängen Elemente in das array?
  • Und der code sortiert die Elemente in absteigender Reihenfolge (wie auch erwähnt in den Titel). Dies würde, um die leeren Saiten reicht. Dein Beispiel Ausgabe entspricht nicht dem code.
  • Nein, was ich möchte, ist ein array, das kann ich Werte hinzufügen und entfernen von Werten aus. Ideal ist diese Arrays enthalten nur die Werte und keine leeren Elemente, so würde es nur so lange wie erforderlich zu jeder Zeit. Wenn ich brauche, um einen Wert hinzuzufügen, bräuchte ich ein neues Element in das array. Ich nur wählte, um ihm 100 Elemente mit dem Wert "" also ich würde immer Platz für einen neuen Wert. Weißt du, was ich meine?
  • Ja, Sie sind richtig. Kopiert habe ich das falsche Teil, sorry. Ich habe aktualisiert mein original-post.
InformationsquelleAutor B_s | 2014-10-25
Schreibe einen Kommentar