Pour une raison quelconque, étant donné que le multitâche est arrivé, NSUserDefaults semble ne plus enregistrer les paramètres sur le disque chaque fois que l'application se ferme. Cela se produit: Lorsqu'un paramètre est modifié dans NSUserDefaults et que le bouton d'accueil est enfoncé, l'écran d'accueil devient visible. L'application fonctionne toujours en arrière-plan. Ensuite, je presse deux fois le bouton d'accueil, et retirer l'application du gestionnaire de tâches. App est maintenant vraiment quitter. Ensuite, je tape sur l'icône de l'application pour le lancer à nouveau. Voilla: Les paramètres ne sont pas stockés! mauvais, ancienne valeur!Comment vous assurer que les paramètres NSUserDefaults sont enregistrés sur le disque lorsque l'application se ferme?
Mais quand je fais cela, cela fonctionne: Appuyez sur le bouton d'accueil, appuyez sur l'icône de l'application à nouveau, appuyez sur le bouton d'accueil à nouveau, et appuyez deux fois sur le bouton home et tuez l'application. Appuyez à nouveau sur l'icône. Maintenant, l'application affiche les paramètres corrects.
Je n'ai jamais explicitement enregistré NSUserDefaults, car cela fonctionnait toujours bien. Mais maintenant, iOS semble ne pas être assez intelligent pour le faire automatiquement ... y at-il quelque chose que je peux appeler dans l'une de ces méthodes "app va quitter maintenant" dans le délégué de l'application, de sorte que le dict NSUserDefaults est vraiment sauvé?