Question

Mon application utilise NSUserDefault pour stocker certaines valeurs afin qu'elle puisse les restaurer sur la mise à jour de l'application ou si l'ampleur de l'ampleur est arrêté.L'ampleur de l'information enregistre automatiquement mes valeurs entier, mais si l'utilisateur quitte l'application à partir du lanceur, les numéros sont également perdus et la méthode ViewDiduLload que je devine n'évoque pas lors de la collecte de fond.Existe-t-il une façon de sauvegarder les NSUserDefaults à tout moment où l'application décharge.En outre, la méthode de la vue ViewDidLoad avait le même problème, elle n'évoque pas de fond.Qu'est-ce qu'un moyen autour de cela?

P.s.Jusqu'à présent, les seules données que mon application doit sauvegarder est une int pour un compte à l'écran.

Mise à jour: UIAPplicationDentierbackgroundingNotification fonctionne très bien avec vos suggestions!

Était-ce utile?

La solution

Vous ne pouvez pas enregistrer les données juste avant que cela soit éventuellement tué, mais vous pouvez sauver l'état «juste au cas où» dans votre ApplicationDentierBackground: délégué de l'application.

Il y a aussi ApplicationDidecomeactive :, mais il n'y a aucune raison de charger vos données de sauvegarde à partir de là, car lorsqu'il est invoqué à partir d'une application qui était en arrière-plan, les données auront été préservées de quelque manière que ce soit.

Autres conseils

Vous ne pouvez pas dire si votre application a été lancée à partir de l'arrière-plan ou non, au moins comment elle est actuellement configurée, car votre délégué de l'application recevra la même séquence d'événements s'il est lancé à partir de Springboard.

Comme Joost dit, vous devez sauver tout ce dont vous avez besoin pour restaurer l'état à l'intérieur du rappel de l'applicationDentierbackground;Essentiellement, vous devriez supposer que c'est le dernier message que votre application deviendra avant qu'il ne soit tué avec impitoyable par une faucheuse diabolique.

Vous devriez consulter le Vidéos de session WWDC 2010 , spécifiquement, Session 105- Adopter le multitâche sur le système d'exploitation iPhone, partie 1 pour une explication approfondie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top