Etant novice dans le développement en Swift je me suis inscris au cours de développement d’app sur IOS 11. Actuellement je fais un petit programme en Swift permettant de convertir une chaîne String en ASCII. Hélas je n’y parviens pas . Seriez-vous me guider ? Je pensais convertir ma chaîne en binaire puis du binaire la convertir en décimal. J’ai lu la doc du swift concernant le type String mais je n’ai pas réussi a trouver la ou les méthodes permettant de réaliser ces différentes actions.
Donc si je résume ton code tu crées une variable textASCII de type unichar puis tu récupères le caractère en partant de la position 0 est-ce bien ça ? Est-ce que le unichar est bien nécessaire ?
Voici le résultat de ma console :
Playground execution failed:
error: funcPlayground.playground:4:25: error: value of type 'String' has no member 'character'
var textASCII:unichar = textString.character(at: 0)
^~~~~~~~~~ ~~~~~~~~~
Swift.String:42:16: note: did you mean 'characters'?
public var characters: String.CharacterView { get set }
^
Le “unichar” n’est pas indispensable, il sert juste à spécifier le type de variable et c’est aussi plus lisible ou alors plus compréhensible une fois que tu dois reprendre ton code.
Dans la précipitation, je n’ai pas vérifié la fonction .character(at: Int) qui demande une variable de type NSString en entrée et j’avais oublié les \ dans le print. Donc ça devient :
var textString = "a" as NSString
var textASCII:unichar = textString.character(at: 0)
print(“La valeur de \(textString) en ASCII est \(textASCII)”)
En effet ça marche merci , si j’essaie de comprendre donc ton code tu dis que textString est une variable de type NSString, quelle est la différence avec une String ? J’ai regardé dans la doc de Foundation mais je n’ai pas vraiment compris…
NSString est l’équivalent de String dans le language Objective C, qui était le langage de développement sur iOS avant que le Swift apparaisse (d’ailleurs on peut toujours développer en objc si on veut )
Les deux sont équivalents et sont souvent convertibles l’une vers l’autre sans trop de souci.
Il est quand même vivement conseillé d’utiliser String dans le développement en Swift car c’est le type de variable natif du langage.
Merci pour l’info, je viens du monde du php donc ça change un peu . Donc les fameuses “Classes Bridged to Swift” sont des classes Objective-C que l’on peut utiliser en Swift ?
Exactement. Et, de temps en temps, pour une fonction par exemple, tu auras besoin de mettre @objc devant pour qu’elle soit interprétée en tant que telle.