Partage
  • Partager sur Facebook
  • Partager sur Twitter

Méthode integer de UsersDefaults

Sujet résolu
    26 février 2021 à 17:35:00

    Bonjour,

    Je veux enregistrer le contenu d'une variable dans l'appareil de l'utilisateur de mon application. 

    Pour cela j'utilise UsersDefaults et je code la variable comme ceci :

    static var totalScore : Int {
            get{
                UserDefaults.standard.integer(forKey: "totalScore")
            }
            set{
                UserDefaults.standard.set(newValue,forKey: "totalScore")
            }
        }

    Pour le setter, tout est clair. Quand je modifie la valeur de totalScore j'enregistre la nouvelle valeur à la place de l'ancienne dans le "Dictionnaire" UsersDefaults

    Par contre pour le get il y a quelque chose que je ne comprend pas. La méthode integer de UserDefault renvoie un Int et non un Int?. Cependant je ne fais pas de première initialisation, la valeur associé à UserDefaults pour la clé "totalScore" devrait donc valoir nil ? 

    Pourtant lorsque je lance mon application en affichant seulement le contenu de totalScore dans un label, celui ci affiche 0. Alors que je n'ai à aucun moment initialisé totalScore.

    Je voudrais savoir comment cela se fait ?

    Merci de vos réponses :)

    -
    Edité par Wakate-joker 26 février 2021 à 17:36:09

    • Partager sur Facebook
    • Partager sur Twitter
      26 février 2021 à 21:11:08

      Salut,

      https://developer.apple.com/documentation/foundation/userdefaults/1407405-integer

      Je peux rien te dire de plus. Tu peux utiliser object qui renvoie un nil si jamais t’as besoin de savoir si l’objet existe ou non

      • Partager sur Facebook
      • Partager sur Twitter
        27 février 2021 à 13:01:17

        Merci, la réponse était dans la doc j'étais passé à côté :/
        • Partager sur Facebook
        • Partager sur Twitter

        Méthode integer de UsersDefaults

        × 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