您好我正在尝试使用NSUserdefaults和复选框将我的用户名和密码存储在我的应用中。 我的代码是......
在viewdidload中
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:UserText.text forKey:@"infoString"];
[defaults setObject:PasswdText.text forKey:@"infoString1"];
[defaults synchronize];
UserText.text=[[NSUserDefaults standardUserDefaults] objectForKey:@"infoString"];
和
- (IBAction)checkButton:(id)sender {
if (!checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"checkbox_ticked.png"] forState:UIControlStateNormal];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.UserText.text=[defaults objectForKey:@"infoString"];
self.PasswdText.text = [defaults objectForKey:@"infoString1"];
checked = YES;
}
else if (checked) {
[checkBoxButton setImage:[UIImage imageNamed:@"checkbox_not_ticked.png"] forState:UIControlStateNormal];
checked = NO;
}
}
我的结果是,如果我点击复选框意味着我的文本字段被刷新。我犯了错误? 提前谢谢。
答案 0 :(得分:0)
当用户执行提交操作时,您应该将值保存在NSUserDefaults
,就像这样
- (void)submitButtontapped {
if (checked) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:UserText.text forKey:@"infoString"];
[defaults setObject:PasswdText.text forKey:@"infoString1"];
[defaults synchronize];
UserText.text=[[NSUserDefaults standardUserDefaults] objectForKey:@"infoString"];
}
// do the next thing
}
- (IBAction)checkButton:(id)sender {
if (checked) {
checked = NO;
[checkBoxButton setImage:[UIImage imageNamed:@"checkbox_not_ticked.png"] forState:UIControlStateNormal];
} else {
checked = YES;
[checkBoxButton setImage:[UIImage imageNamed:@"checkbox_ticked.png"] forState:UIControlStateNormal];
}
}