使用UISwitch在NSUserDefaults LoginView中发出问题

时间:2014-06-27 07:23:22

标签: ios iphone ios7

当我启用loginView切换时,我无法在rememberMe中存储我的用户名和密码。

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

- (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];

}

2 个答案:

答案 0 :(得分:1)

您需要从NSUserDefault加载内容,因此您的代码应如下所示:

if (rememberSwitch.on == YES){

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

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

}

答案 1 :(得分:0)

解决了代码问题

NSString * username = [userDefaults objectForKey:@" userString"];
NSString * password = [userDefaults objectForKey:@" passwordString"];
usernameField.text = username;
passwordField.text = password;