Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SWIFT] Fatal error: unexpectedly found nil while

    19 novembre 2017 à 21:38:23

    Bonjour,

    Je découvre le swift depuis peu et j'ai une erreur que je ne comprends pas

    L'erreur en question : Fatal error: unexpectedly found nil while unwrapping an Optional values

    //Entré utilisateur
    func input() -> Int {
        let strData = readLine();
        return Int(strData!)!
    }
    
    //Test
    let choix = input()
    print(choix)

    Je cherche juste à récupérer l'entrée utilisateur

    Merci d'avance

    -
    Edité par RudyMal 19 novembre 2017 à 21:39:22

    • Partager sur Facebook
    • Partager sur Twitter

    Développeur back - end

      19 novembre 2017 à 23:54:17

      Salut !

      le problème ici est simple...

      readLine() est une fonction qui renvoie l'entrée utilisateur sous forme de String optionnel. En cas d'erreur de lecteur, nil est renvoyé.

      Le cast Int(String) renvoie aussi un optionnel qui vaut nil si la chaine n'a pas une forme correct pour etre lue comme un Int.

      donc la ligne "return Int(strData!)!" ignore les deux cas d'erreur precedents. Donc si l'entrée n'as pas pu être lu ou alors que l'entrée n'est pas un entier correct, alors le programme va crash !

      Tu devrais donc essayer de modifier ta fonction pour qu'elle renvoie un entier optionnel et verifier le success lors de l'apelle a la fonction

      • Partager sur Facebook
      • Partager sur Twitter
      Tutoriels sur GameplayKitSceneKit (iOS 3D game engine), ARKit (iOS réalité augmentée) en cours d'écriture

      [SWIFT] Fatal error: unexpectedly found nil while

      × 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.
      • Editeur
      • Markdown