webentwicklung-frage-antwort-db.com.de

Swift Äquivalent zu Array.componentsJoinedByString?

In Objective-C können wir componentsJoinedByString aufrufen, um einen String zu erzeugen, bei dem jedes Element des Arrays durch den angegebenen String getrennt ist. Während Swift eine componentsSeparatedByString -Methode für String hat, scheint es in Array nicht das Gegenteil davon zu geben:

'Array<String>' does not have a member named 'componentsJoinedByString'

Was ist die Umkehrung von componentsSeparatedByString in Swift?

54
devios1

Swift 3.0:

Ähnlich wie Swift 2.0, aber die API-Umbenennung hat joinWithSeparator in joined(separator:) umbenannt.

let joinedString = ["1", "2", "3", "4", "5"].joined(separator: ", ")

// joinedString: String = "1, 2, 3, 4, 5" 

Weitere Informationen finden Sie unter Sequence.join (separator:) .

Swift 2.0:

Sie können die joinWithSeparator -Methode für SequenceType verwenden, um ein Array von Zeichenfolgen mit einem Zeichenfolgentrennzeichen zu verknüpfen.

let joinedString = ["1", "2", "3", "4", "5"].joinWithSeparator(", ")

// joinedString: String = "1, 2, 3, 4, 5" 

Weitere Informationen finden Sie unter SequenceType.joinWithSeparator (_:) .

Swift 1.0:

Sie können die Standardbibliotheksfunktion join für String verwenden, um ein Array von Zeichenfolgen mit einer Zeichenfolge zu verknüpfen.

let joinedString = ", ".join(["1", "2", "3", "4", "5"])

// joinedString: String = "1, 2, 3, 4, 5" 

Oder wenn Sie möchten, können Sie die globale Standardbibliotheksfunktion verwenden:

let joinedString = join(", ", ["1", "2", "3", "4", "5"])

// joinedString: String = "1, 2, 3, 4, 5"
120
Jack Lawrence

Die Komponente Joined By String ist in NSArray weiterhin verfügbar, jedoch nicht in Swift Arrays. Sie können jedoch hin und her überbrücken.

var nsarr = ["a", "b", "c"] as NSArray
var str = nsarr.componentsJoinedByString(",")
7
Connor