Bonjour, je suis entrain de faire le cours d'initiation pour le language swift, et pour le TP de la mini calculette, il est écrit d'utilser le code ci-dessous pour utilise la fonction readLine() et pour convertir ce qu'il retourne en Entier. Pourtant je copy colle exactement et j'ai l'erreur suivante : Use of unresolved identifier 'readLine'
Pouvez vous m'aider svp ? je n'arrive pas à comprendre pourquoi j'ai cette erreur
// Fonction permettant de demander à l'utilisateur d'entrer un nombre et de le convertir en entier
quand j'utilise la fonction comme suite : nmbr = input()
fatal error: unexpectedly found nil while unwrapping an Optional value
aidez moi, svp ?
Salut !
Ta fonction input() Utilise deja la fonction readLine qui renvoie une String optionnel que tu ne surveille pas. C'est un premier problème mais je pense que le vrai problème que tu rencontre est que tu utilise l'initialisation de l'Int par une chaine de charactère qui est aussi un optionnel ! Si tu rentre autre chose qu'un chiffre dans la chaine de charactere, l'Int sera nil et ton force unwrapping fera crash ton programme avec l'erreur que tu as "found nil while unwrapping an Optionnal value"
Pour cela tu as deux facons de faire :
Soit ta fonction input() renvoie un Int optionnel comme ceci :
func input() -> Int? {
if let strData = readLine() {
return Int(strData)
} else {
return nil
}
}
Soit tu la fait renvoyer une valeur par default en cas d'erreur (genre 0) :
func input() -> Int {
if let strData = readLine() {
return Int(strData) ?? 0
} else {
return 0
}
}
- Edité par giantwow 30 mars 2017 à 10:04:20
Tutoriels sur GameplayKit, SceneKit (iOS 3D game engine), ARKit (iOS réalité augmentée) en cours d'écriture
Le P.O. attendait votre réponse impatiemment de puis 2 ans !!!!
Le crayon la gomme et le papier sont les meilleurs outils du programmeur !
Xcode : readLine() issue
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le crayon la gomme et le papier sont les meilleurs outils du programmeur !