2 votes

IPhone - Écran de configuration unique

Je développe une application iphone qui demande des détails de configuration initiale comme le nom d'utilisateur dans les deux premiers écrans lorsque l'utilisateur lance l'application pour la première fois. Je ne veux pas que ces 2 écrans apparaissent lorsque je lance l'application une fois que l'utilisateur a donné les détails.

J'ai essayé d'obtenir des informations sur internet mais je n'ai pas réussi à trouver comment le faire. Peut-être que je manque le terme technique ou les mots impliqués dans cette tâche. Est-ce que quelqu'un pourrait m'aider à accomplir ce scénario. Tout code d'exemple serait très utile.

Merci pour votre temps

2voto

Oliver Points 901

Il suffit de définir une variable booléenne dans les préférences de l'utilisateur. Les préférences de l'utilisateur permettent de sauvegarder des informations sur le téléphone, en dehors de l'application, que l'application peut appeler à tout moment.

Dans votre app-delegate au démarrage, vérifiez les préférences de l'utilisateur pour un booléen.

Pour sauvegarder un booléen dans les préférences de l'utilisateur :

NSValue *state = ... // État souhaité. NSValue permet de stocker des booléens.
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:obj forKey:@"notFirstTimeRun"];
[defaults synchronize];

Pour charger le booléen depuis les préférences de l'utilisateur :

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSValue *state = [defaults objectForKey:@"notFirstTimeRun"];

Faites une vérification :

if ([state boolValue] == true){
     // A déjà été exécuté auparavant, passez vos UIViews ou autre
}
else{
     // N'a pas encore été exécuté, effectuez votre configuration ou autre.
}

0voto

Stunner Points 3580

Ce que vous cherchez à faire est essentiellement de stocker un indicateur qui indique si l'utilisateur a suivi les étapes de configuration. Et lors du lancement de l'application, vous vérifiez si cet indicateur existe avec la valeur respective pour indiquer s'il faut ou non afficher un écran de configuration. NSUserDefaults offre un moyen vraiment simple et facile de persister l'état entre les sessions.

0voto

Daniel Larsson Points 1698

Voici comment je le ferais:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasBeenLaunched"]){
        // Ce n'est pas la première fois, donc ouvrir l'application comme d'habitude
    } else {
        // C'est la première fois, afficher des vues spéciales
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasBeenLaunched"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
}

0voto

azmuhak Points 964

Et si on mettait un booléen dans AppDidFinishLaunching. Vous pouvez vérifier ce booléen chaque fois que l'application est lancée et afficher ou masquer l'écran respectif en fonction de cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X