2010-03-01 15 views
0

Je construis une application basée sur un contrôleur de navigation.Comment restaurer un chemin de navigationcontroller lors de la relance de l'application?

Je voudrais que l'utilisateur a la possibilité quand il relance l'application pour voir le dernier écran qu'il a vu quand il a quitté l'application.

C'est exactement comme dans l'application de messagerie, quand vous poussez "home" pendant la composition d'un courrier, puis quand vous retournez à vos mails, vous arrivez directement sur le mail que vous étiez en train d'écrire.

Je voudrais d'abord savoir quelle est la meilleure solution (je ne pense pas que je peux obtenir cela avec NSuserdefaults). Puis, je voudrais savoir si cette solution est applicable à mon application, étant donné que dans mon rootviewcontroller je télécharge des données localement que j'analyse, puis affiche dans les vues de contrôleur de navigation multiples.

Répondre

0

Je viens de résoudre ce ... pas sûr que c'est la façon la plus élégante ...

Cependant, je voie essentiellement chaque poussée et moi-même pop sur une pile, mais je stocker des objets plutôt que des vues. Chaque fois que quelque chose est poussé ou sorti de ma pile, je le sauvegarde (ça ne prend pas de temps). Lorsque l'application se lance, elle recherche le fichier de la pile, puis effectue plusieurs poussées (extraction des éléments de la pile chargée) sans animer chacun d'eux. Ma hiérarchie est (à son niveau le plus profond) 4 éléments, et à l'utilisateur, il semble qu'elle s'ouvre sur l'objet.

La pile est chargée à partir du fichier dans la méthode viewDidLoad de mon contrôleur racine.