0

J'ai deux classes de contrôleur de vue dans mon délégué d'application. Je peux passer d'un contrôleur de vue au contrôleur de vue suivant en émettant la méthode -pushViewController:animated de la classe navigationController et en revenant au contrôleur de vue précédent en appelant la méthode -popViewController:animated. Maintenant, mon problème est que je veux sauver une certaine valeur aux préférences en utilisant NSUserDefaults quand je vais revenir au premier contrôleur de vue, et je ne sais pas où dois-je mettre:Quelle fonction appellera quand le contrôleur de vue est changé en un autre contrôleur de vue?

[[NSUserDefaults standardUserDefaults] setObject:@"value" forKey:@"key"]; 

Répondre

1

Dans votre deuxième contrôleur de vue, ajouter:

- (void) viewWillDisappear:(BOOL)animated { 
    [[NSUserDefaults standardUserDefaults] setObject:@"value" forKey:@"key"]; 
    [super viewWillDisappear:animated]; 
} 

Lorsque la deuxième vue disparaît et que la première vue apparaît, les valeurs par défaut standard sont mises à jour.

1

Ce sont tous valides selon exactement quand vous voulez enregistrer les informations:

-(void) viewWillAppear:(BOOL)animated; 

-(void) viewDidAppear:(BOOL)animated; 

-(void) viewWillDisappear:(BOOL)animated; 
Questions connexes