Comment obtenir la longueur d'une chaîne en Swift ? La propriété .length ne fonctionne pas comme en Objective-C
Bonjour à tous ! Je viens de commencer à apprendre Swift, avant j'écrivais un peu en Objective-C. Là, pour obtenir la longueur d'une chaîne, je faisais simplement :
```objc
NSString *str = @"Привет";
NSInteger len = [str length];
```
Maintenant, j'essaie de faire la même chose en Swift, mais le compilateur génère une erreur. Voici mon code :
```swift
let str = "Привет"
let len = str.length // Error: Value of type 'String' has no member 'length'
```
J'ai essayé de chercher sur Internet et j'ai trouvé qu'en Swift il faut utiliser `count`, mais je n'y arrive pas :
```swift
let str = "Привет"
let len = str.count // Cela fonctionne, mais donne un résultat étrange pour les emojis
```
Le problème est que quand je compte la longueur d'une chaîne avec des emojis, par exemple "👨👩👧👦 Семья", `count` retourne 1 pour cet emoji composé, alors que visuellement il y a 4 personnages. Moi, j'ai besoin d'obtenir exactement le nombre de caractères visibles, comme c'était le cas en Objective-C.
Dites-moi, s'il vous plaît, comment obtenir correctement la longueur d'une chaîne en Swift ? De préférence en tenant compte d'Unicode et des emojis.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs