Ich baue eine einfache Anmeldung und Registrierung in IOS (xcode 6.4). Um Benutzernamen und Passwort zu speichern, verwende ich NSUserDefaults
. Aber das Problem ist, ich kann nicht mehrere Benutzernamen und Passwörter speichern, da ich Daten in den gleichen Schlüssel speichern. Was ist die alternative Methode, um es zu implementieren. Ich sah einige ähnliche Fragen auf Stackoverflow aber konnte die Lösung nicht verstehen. So kann man es auf einfache Weise erklären. Hier ist mein Code:Speichern mehrerer Schlüssel-Wert-Paare in NSUserDefaults
//function for login pressed
- (IBAction)login:(UIButton *)sender
{
NSLog(@"%@,%@",userNameField.text,passwordField.text);
username = [[NSUserDefaults standardUserDefaults] objectForKey:@"username"];
password = [[NSUserDefaults standardUserDefaults] objectForKey:@"password"];
NSLog(@"%@,%@",username,password);
bool validUser = [username isEqualToString:userNameField.text];
bool validPassword = [password isEqualToString:passwordField.text];
if ([self checkWhetherFieldIsEmpty:userNameField.text :passwordField.text])
{
[self displayAlert:@"All Fileds are mandatory"];
}
else if(validUser && validPassword)
{
[self displayAlert:@"Successfull Login"] ;
}
else{
// NSLog(@"Invalid username or password");
[self displayAlert:@"Invalid login or password"];
}
}
//function when register button is pressed
- (IBAction)register:(UIButton *)sender
{
if([[[NSUserDefaults standardUserDefaults] objectForKey:@"username"] isEqualToString:userNameField.text])
{
[self displayAlert:@"User already exist"];
userNameField.text = @"";
passwordField.text = @"";
}
else
{
[[NSUserDefaults standardUserDefaults] setObject:userNameField.text forKey:@"username"];
[[NSUserDefaults standardUserDefaults] setObject:passwordField.text forKey:@"password"];
[[NSUserDefaults standardUserDefaults]synchronize];
NSLog(@"user Created successfully");
[self displayAlert:@"Registration Successfull"];
}
}
NICHT NSUserDefaults Verwenden Sie ein Passwort zu speichern, ist es nicht sicher ist. Verwenden Sie den Schlüsselbund, um solche Daten zu speichern. –
@SimonMcLoughlin Ich weiß es. Aber ich versuche zu lernen mit NSUserDefaults –
Für diejenigen, die sich Sorgen über Passwörter, nur als allgemeine Frage zum Speichern mehrerer Datenpaare in Benutzer-Standardeinstellungen. – Avi