447 Stimmen

Wie konvertiere ich ein Swift-Array in einen String?

Ich weiß, wie man es programmatisch macht, aber ich bin mir sicher, dass es einen eingebauten Weg gibt...

Jede Sprache, die ich benutzt habe, hat irgendeine Art von Standard-Textdarstellung für eine Sammlung von Objekten, die sie ausspuckt, wenn man versucht, das Array mit einem String zu verketten oder es an eine print() Funktion zu übergeben, usw. Hat die Swift-Sprache von Apple einen eingebauten Weg, ein Array leicht in einen String umzuwandeln, oder müssen wir immer explizit sein, wenn wir ein Array in einen String umwandeln?

5voto

krishnamurthy Punkte 99

Wenn Sie benutzerdefiniertes Objekt-Array in einen String oder kommaseparierten String (CSV) konvertieren möchten, können Sie verwenden

 var stringIds = (self.mylist.map{$0.id ?? 0}).map{String($0)}.joined(separator: ",")

Kredit an: urvish modi Post: Ein Array von Ints in einen kommaseparierten String umwandeln

4voto

In Swift 2.2 müssen Sie möglicherweise Ihr Array in NSArray casten, um componentsJoinedByString(",") zu verwenden

let stringWithCommas = (yourArray as NSArray).componentsJoinedByString(",")

4voto

Onur Var Punkte 1698

Meins funktioniert auf NSMutableArray mit componentsJoinedByString

var array = ["1", "2", "3"]
let stringRepresentation = array.componentsJoinedByString("-") // "1-2-3"

3voto

Maninderjit Singh Punkte 1289
let arrayTemp :[String] = ["Mani","Singh","iOS-Entwickler"]
    let stringAfterCombining = arrayTemp.componentsJoinedByString(" ")
   print("Ergebnis wird sein >>>  \(stringAfterCombining)")

Ergebnis wird sein >>> Mani Singh iOS-Entwickler

3voto

Sourav Chandra Punkte 815

Wenn Sie leere Zeichenfolgen im Array loswerden möchten.

["Jet", "Fire"].filter { !$0.isEmpty }.joined(separator: "-")

Wenn Sie auch nil-Werte filtern möchten:

["Jet", nil, "", "Fire"].flatMap { $0 }.filter { !$0.isEmpty }.joined(separator: "-")

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X