J'ai une application qui a un UITabBarController avec deux onglets, chacun ayant son propre contrôleur de navigation. Maintenant je veux stocker l'état de l'application quand l'utilisateur le ferme, ainsi quand l'utilisateur relauches l'application montrera le même endroit que la dernière fois avant qu'il ait été fermé.
Ainsi, applicationWillTerminate: jeenregistrer et restaurer l'état d'un contrôleur de barre d'onglets
[NSKeyedArchiver archiveRootObject:tabBarController toFile:@"lastVisitedTab"];
Puis, en applicationDidFinishLaunching: je
UITabBarController *last= (UITabBarController *)[NSKeyedUnarchiver unarchiveObjectWithFile:@"lastVisitedTab"];
if (last)
tabBarController = [last retain];
J'ai aussi une extension UIImage pour le rendre conforme à NSCoding. Cependant, cela ne fonctionne pas, car l'état n'est pas conservé. Le premier onglet est sélectionné tout le temps, et aucune navigation n'est conservée non plus.
Quelqu'un peut-il me dire ce qui ne va pas, ou me montrer comment le faire correctement?
fait c'est ce que je pense maintenant, mais les tables ont des contenus dynamiques, donc je ne peux pas il suffit de stocker l'index :( peut-être l'url fera l'affaire – phunehehe
Quelles tables? Si vous utilisez UITableViews, il est également beaucoup plus logique de persister les ** données ** plutôt que les vues elles-mêmes. – Felixyz
les données elles-mêmes est dynamique , donc ne peut pas stocker que de toute façon merci ve ry beaucoup pour me donner l'idée je mets aussi mon code ci-dessous – phunehehe