Comment puis-je utiliser UserDefaults pour enregistrer / récupérer des chaînes, des booléens et d'autres données dans Swift?
ios
swift
nsuserdefaults
userdefaults
Mithun Ravindran
la source
la source
Réponses:
réf: NSUserdefault objectTypes
Swift 3 et plus
Boutique
Récupérer
Retirer
Supprimer toutes les clés
Swift 2 et inférieur
Boutique
Récupérer
Retirer
S'inscrire
par exemple détecter l'application depuis le lancement, créer la structure pour enregistrer le lancement
Enregistrez les valeurs par défaut au lancement de l'application:
supprimez la valeur lors de l'arrêt de l'application:
et vérifiez la condition comme
Nom de la suite UserDefaults
un autre nom de suite de propriétés , principalement utilisé pour le concept de groupes d'applications , l'exemple de scénario que j'ai pris ici :
utilisation de userDefaults synchronize , les informations détaillées ont été ajoutées dans la réponse en double.
la source
Meilleure façon d'utiliser UserDefaults
Pas
Échantillon
enum pour les clés utilisées pour stocker des données
Enregistrer dans UserDefaults où vous le souhaitez
Récupérez des données n'importe où dans l'application
Supprimer les valeurs
De cette façon, vous pouvez stocker les données primitives au mieux
Mise à jour Vous n'avez pas besoin d'utiliser synchronize () pour stocker les valeurs. Comme @Moritz l'a souligné, il est inutile et donné l'article à ce sujet.Vérifiez les commentaires pour plus de détails
la source
synchronize()
, c'est expliqué dans la documentation. Ce n'est pas seulement inutile ici, mais cela pourrait ralentir l'accès aux valeurs par défaut.Swift 4 :
Boutique
Retrive
Retirer
la source
la source
Vous pouvez utiliser
NSUserDefaults
rapidement de cette façon,la source
synchronize()
commande pourNSUserDefaults
pour vous assurer que vos données sont enregistrées après avoir effectué un bloc de modifications. Cela aurait peut-être été plus nécessaire dans iOS 7 et versions antérieures, mais dans iOS 8 et versions ultérieures, vous ne devriez pas appeler synchronize () dans la plupart des situations. Vérifiez ceci pour plus d'informations: codingexplorer.com/nsuserdefaults-a-swift-introductionSwift 5 et supérieur:
:)
la source
J'ai sauvegardé NSDictionary normalement et j'ai pu l'obtenir correctement.
// Pour obtenir des données de NSDictionary.
la source
la source
UserDefault + Helper.swift
Usage:
Enregistrer la valeur:
Récupérer la valeur:
Supprimer la valeur:
la source
Je dirais que la réponse d'Anbu est parfaitement correcte mais j'ai dû ajouter une garde lors de la récupération des préférences pour que mon programme n'échoue pas
Voici l'extrait de code mis à jour dans Swift 5
la source
En classe
A
, définissez la valeur de la clé:En classe
B
, récupérez la valeur du texte à l'aide de la clé déclarée en classeA
et affectez-la à la variable respective dont vous avez besoin:la source
Swift 4, j'ai utilisé Enum pour gérer UserDefaults.
Ceci est juste un exemple de code. Vous pouvez le personnaliser selon vos besoins.
Pour le stockage, la récupération, la suppression. De cette façon, ajoutez simplement une clé pour votre clé UserDefaults à l'énumération. Gérez les valeurs lors de l'obtention et du stockage en fonction de dataType et de vos besoins.
Pour stocker une valeur dans userdefaults,
Pour récupérer une valeur à partir de userdefaults,
la source