2014-06-27 43 views
-1

当我启用rememberMe开关时,我无法将我的用户名和密码存储在loginView中。问题在NSUserDefaults LoginView with UISwitch

这是我的代码,请帮助我!

- (void)viewDidLoad 
{ 
    if (rememberSwitch.on == YES){ 

     self.usernameField.text = usernameField.text; 

     self.passwordField.text = passwordField.text ; 

    }else{ 

     NSLog(@"switch is off"); 

     self.usernameField.text = @""; 

     self.passwordField.text = @""; 

     } 

} 

- (IBAction)rememberMeTouched:(id)sender 

{ 

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 

    if (rememberSwitch.on == YES) { 

     NSString *userString = usernameField.text; 

     [userDefaults setObject:userString forKey:@"userString"]; 

     NSString *passwordString = passwordField.text; 

     [userDefaults setObject:passwordString forKey:@"passwordString"]; 

    } 

    [userDefaults setObject:(rememberSwitch.on ? @"true" : @"false") forKey:@"isremember"]; 

    [userDefaults synchronize]; 

} 
+0

虽然第一个视图加载您的文本字段具有空值,所以它会去显示您的值。您应该从NS用户默认值加载值 – Impossible

回答

1

你需要下载从NSUserDefault内容,以便您的代码应该是这样的:

if (rememberSwitch.on == YES){ 

    self.usernameField.text = [userDefaults objectForKey:@"userString"];; 

    self.passwordField.text = [userDefaults objectForKey:@"passwordString"];; 

} 
0

与代码解决问题

的NSString *用户名= [userDefaults objectForKey:@“userString “];
NSString * password = [userDefaults objectForKey:@“passwordString”];
usernameField.text = username;
passwordField.text = password;