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?
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.
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.
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"
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(",")