Je suis nouveau dans iOS, Object-C et j'essaie de faire un login/registerLogin simple en utilisant NSUserDefaults.NSUserDefaults: Comment obtenir de la valeur
Mon problème est: Comment puis-je accéder/obtenir la valeur enregistrée dans NSUserDefaults pour vérifier si un utilisateur existe déjà?
C'est le code pour l'enregistrement d'un nouvel utilisateur:
-(void)registerNewUser {
// Getting username and the password
NSString *newUsername = self.usernameRegisterTextField.text;
NSString *newPassword = self.passwordRegisterTextField.text;
// Using NSUserDefaults to storage username and password
NSUserDefaults *newUser = [NSUserDefaults standardUserDefaults];
[newUser setObject:newUsername forKey:@"username"];
[newUser setObject:newPassword forKey:@"password"];
[newUser setBool:YES forKey:@"registered"];
[newUser synchronize];
[self performSegueWithIdentifier:@"registerSucessSegue" sender:nil];
}
Et je suis en train d'obtenir la valeur enregistrée dans NSUserDefaults pour vérifier si un utilisateur existe déjà au lieu d'appeler l'écran de connexion nouveau:
- (IBAction)productTableButton:(id)sender {
// Verification if an user exist
NSUserDefaults *newUser = [NSUserDefaults standardUserDefaults];
BOOL newUserExist = [newUser valueForKey:@"registered"];
if (newUserExist == YES) {
[self performSegueWithIdentifier:@"productSegue" sender:nil];
} else {
[self performSegueWithIdentifier:@"loginSegue" sender:nil];
}
}
y at-il quelque chose g que je fais mal quand j'essaie d'accéder à la valeur d'un utilisateur enregistré dans NSUserDefaults?
Ne jamais utiliser 'valueForKey' pour obtenir un' BOOL', btw ne jamais utiliser '' valueForKey' de toute façon avec NSUserDefaults'. Il y a 'boolForKey' – vadian