web-dev-qa-db-fra.com

Swift équivalent de Array.componentsJoinedByString?

Dans Objective-C, nous pouvons appeler componentsJoinedByString pour produire une chaîne avec chaque élément du tableau séparé par la chaîne fournie. Alors que Swift a une méthode componentsSeparatedByString sur String, il ne semble pas y avoir l'inverse de cela sur Array:

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

Quel est l'inverse de componentsSeparatedByString dans Swift?

54
devios1

Swift 3.0:

Similaire à Swift 2.0, mais le changement de nom de l'API a renommé joinWithSeparator en joined(separator:).

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

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

Voir Sequence.join (separator:) pour plus d'informations.

Swift 2.0:

Vous pouvez utiliser la méthode joinWithSeparator sur SequenceType pour joindre un tableau de chaînes avec un séparateur de chaînes.

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

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

Voir SequenceType.joinWithSeparator (_:) pour plus d'informations.

Swift 1.0:

Vous pouvez utiliser la fonction de bibliothèque standard join sur String pour joindre un tableau de chaînes à une chaîne.

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

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

Ou si vous préférez, vous pouvez utiliser la fonction de bibliothèque standard globale:

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

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

Le componentsJoinedByString est toujours disponible sur NSArray, mais pas sur les tableaux Swift. Vous pouvez cependant faire des allers-retours.

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