Mise à jour : Xcode 9 • Swift 4 ou ultérieur
String se conforme maintenant à RangeReplaceableCollection afin que vous puissiez utiliser la méthode de collection dropLast directement dans la String et par conséquent une extension n'est plus nécessaire. La seule différence est qu'elle renvoie un Substring. Si vous avez besoin d'une String, vous devez en initialiser une nouvelle à partir de celle-ci :
let string = "0123456789"
let substring1 = string.dropLast(2) // "01234567"
let substring2 = substring1.dropLast() // "0123456"
let result = String(substring2.dropLast()) // "012345"
Nous pouvons également étendre LosslessStringConvertible
pour ajouter une syntaxe de fin qui, je pense, améliore la lisibilité :
extension LosslessStringConvertible {
var string: String { .init(self) }
}
Utilisation :
let result = substring.dropLast().string
0 votes
stackoverflow.com/questions/32849789/…