
L’enregistrement de données sous forme de clé-valeur en développement mobile à déjà été abordé dans l’article sur les SharedPreferences.
Aujourd’hui, je vous propose de faire la même chose, mais en Swift. C’est beaucoup plus simple, mais nous nous limitons alors aux plateformes Apple (iOS, iPadOS, MacOS, WatchOS).
Comme pour les SharedPreferences, NSUsersDefaults est donc un système simple et rapide qui permet d’enregistrer des valeurs de type Float, Bool, Double, Int, mais aussi des objets (array, dictionary…. ), et des urls. C’est donc une façon de gérer la persistance des données à la fois simple et puissante 🙂 .
Pour cette démo, j’ai créé une petite application très simple dans laquelle l’utilisateur enregistre une phrase, et celle-ci est stockée comme une clé-valeur grâce à UserDefaults :
Afin de vérifier la persistance, n’hésitez pas à relancer l’application, et vous verrez que votre phrase reste mémorisée 🙂
Alors pour utiliser UserDefaults, il faut déjà créer une instance de UserDefaults, et définir ses clés de préférences :
Ensuite, l’enregistrement d’une valeur se fait avec l’instruction « préférences.set » :
Et la lecture d’une valeur avec :
Et c’est tout !
Ce qui fait que notre controller contient juste ce code :
Je pense que c’est la méthode la plus simple en Swift pour sauvegarder des informations ! Mais elle est aussi très puissante, puisqu’il est non seulement possible d’enregistrer des valeurs « simples », comme des entiers, des nombres et de booléens, mais aussi des valeurs plus complexes, comme des tableaux et des dictionnaires. En « bidouillant » un peu, on peut même enregistrer des images !
Bref, pas de raisons de s’en priver !
Comme toujours, le code source est disponible sur mon dépôt Git : https://gitlab.com/camilleBar/swift-nsuserdefaults-ios-demo-project
Et si vous avez des questions / suggestions, n’hésitez pas, commentez !