2009-05-25 8 views
1

Actuellement je crée 2 vues et sur la première vue, il y a un bouton suivant, en cliquant dessus, il passera à la deuxième vue. Ensuite, dans la deuxième vue, je définis une valeur dans l'étiquette et quand je clique sur le bouton précédent, je reviens à la première vue. Problème: maintenant je suis de retour dans la première vue, si je clique à nouveau sur le bouton suivant, la valeur d'étiquette que j'ai définie dans la deuxième vue est perdue. Question: Comment puis-je sauvegarder l'état de sorte que lorsque je clique sur le bouton suivant, il détectera que l'étiquette est déjà définie et en tant que telle afficher la valeur précédente.Sauvegarder État iphone sdk

Répondre

1

Cela dépend. Il y a plusieurs façons.

Je m'attends à ce que chaque fois que vous poussez la deuxième vue à l'écran, vous créez une nouvelle instance de celui-ci. Dans tous les cas, que vous le soyez ou non, vous devez enregistrer la valeur de l'étiquette dans le modèle plutôt que d'attendre que la vue conserve les données (voir: MVC Design Pattern). Ensuite, dans la fonction -viewDidLoad: du deuxième contrôleur de vue, définissez la valeur de l'étiquette à sa valeur précédente.

+0

Salut merci pour la réponse. Ya, je parviens à faire ce que vous avez suggéré qui est défini la valeur dans la fonction viewDidLoad. Vous aimez aussi comprendre de vous quelles sont les autres manières que vous mentionnez? Je me demandais, si nous avons généralement beaucoup de données à dire, y a-t-il des moyens plus efficaces? –

1

MVC est votre ami.

Votre affichage affiche uniquement les données stockées dans le modèle. Donc, si vous affichez des informations sur la personne, les données sont stockées dans un objet personnel. Votre vue aurait une référence à l'objet personne qu'elle affiche pour qu'elle puisse lire les données. View ne définit aucune donnée sur l'objet personne, ce qui est fait via le contrôleur. Votre contrôleur établit un pont entre votre modèle (données) et votre vue en maintenant des références aux deux.

L'utilisateur clique sur un élément affiché (par exemple, modifier le nom d'utilisateur), ceci est géré par le contrôleur qui met à jour le modèle de personne avec un nouveau nom. Une fois l'action terminée, le contrôleur demande à la vue de réafficher les données dans le modèle.

Jetez un oeil à Model-View-Controller et UIViewController dans les références d'Apple.