Je veux avoir une instruction If
qui me permet de dire si j'ai un NSUserDefaults enregistré ou non.Comment savoir si NSUserDefaults est déjà enregistré?
Répondre
Je pense que la question est de savoir si un objet particulier est stocké dans les valeurs par défaut de l'utilisateur, plutôt que de savoir si les données ont été sauvegardées ou non. Les valeurs par défaut de l'utilisateur sont simplement un dictionnaire, en termes d'API, de sorte que vous pouvez essayer de récupérer un objet pour une clé donnée. Si l'objet retourné n'est pas nil
, alors quelque chose a évidemment été stocké pour cette clé. Inversement, si le retour est nil
, rien n'a été stocké et vous devriez probablement charger un objet par défaut ou effectuer un autre type de contingence.
Le point de NSUserDefaults
est qu'il enregistre vos données de manière transparente pour vous sans votre intervention, de sorte que vous ne pouvez pas demander si elle a enregistré les données ou non.
Toutefois, vous pouvez l'obliger à enregistrer en appelant [[NSUserDefaults sharedUserDefaults] synchronize];
, ce qui renvoie un BOOL
indiquant si la sauvegarde a réussi ou non. La documentation de cette méthode dit:
Parce que cette méthode est automatiquement invoqué à intervalles réguliers, utiliser cette méthode que si vous ne pouvez pas attendre pour la synchronisation automatique (pour exemple, si votre application est sur le point à exit) ou si vous voulez mettre à jour les valeurs par défaut de l'utilisateur à ce qui est sur le disque même bien que vous n'avez apporté aucune modification.
- 1. Comment déterminer si le canal distant est déjà enregistré
- 2. Comment savoir si un cookie est déjà là?
- 3. Comment savoir si un objet est déjà référencé?
- 4. NSUserDefaults: numéro enregistré Toujours 0, iPhone
- 5. comment puis-je vérifier si WCF est déjà enregistré avec IIS
- 6. Inside Interceptor.intercept(), comment savoir si l'action a déjà été exécutée?
- 7. jquery pays sélectionner quand le pays est déjà enregistré?
- 8. Comment savoir si une session est active?
- 9. Django unittests: Le modèle est déjà enregistré Erreur
- 10. "org.datanucleus" est déjà enregistré sous Spring Source Toosuite
- 11. Solr Connexion » déjà enregistré dans le conteneur
- 12. Comment savoir si une fenêtre avec un titre donné est déjà ouverte dans Tk?
- 13. Comment puis-je savoir si un processus est déjà en cours d'exécution avec C#?
- 14. Comment savoir si une boucle de message MFC est déjà en cours d'exécution?
- 15. si l'utilisateur est déjà connecté ou non?
- 16. Comment puis-je savoir si une autre application a enregistré un canal IPC Remoting?
- 17. comment savoir si une forme est praticable
- 18. Comment savoir si un ordinateur est redémarré
- 19. Comment savoir si l'objet raphael est caché?
- 20. Comment savoir si l'applet ou l'application est
- 21. Comment savoir si un utilisateur est connecté?
- 22. Comment savoir si dll RAPI est existant
- 23. Comment savoir si Oracle Streams est installé?
- 24. Comment savoir si UITableViewCell est sélectionné?
- 25. Comment savoir si une fonction est terminée?
- 26. Comment déterminer si le fournisseur VFPOLEDB est installé/enregistré?
- 27. Comment obtenir si l'objet est déjà récupéré dans l'injection
- 28. Savoir si les fenêtres WPF ont déjà été chargées (événement Loaded déjà déclenché)
- 29. test Si un PC est enregistré dans sur un réseau
- 30. Comment savoir si une fenêtre est active? (Win32 API)