UITextField 保存输入帐号或者密码的时机
虽然保存输入帐号或者密码并不是UITextField的责任,但是实际上要保存的原始信息是UITextField的text。
那么我们就有一个问题,何时保存这个信息了。
一般情况下提出这种需求是我们在登录成功后保存某一个输入的字符串信息。如果不成功,也没有保存的必要。保存的目的是为了用户下次不用重新输入。
往往是确定登录按钮的Target Action的Action事件中是保存的最好时机。而不是在UITextFieldDelegate的两个方法中
- (void)textFieldDidEndEditing:(UITextField *)textField // 当插入符离开输入框后调用 -(BOOL)textFieldShouldReturn:(UITextField *)textField // 当按下键盘的return或者done后调用
。毋庸置疑,保存少量信息是依靠的NSUserDefault
时间点 是确定按钮的Action方法在其中判定用户成功登录后。
保存信息 UITextField的text.
实现保存信息的是类是 NSUserDefault
代码如下。
- (void)viewDidLoad设置textField的text
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; self.userNameTextField.text = [userDefault objectForKey:@"userName"];//如果userName没有对应的对象。返回nil.如果userName对应的对象是@"",返回是@""。
- (void)viewDidLoad中设置action方法
[self.OKButton addTarget:self action:@selector(isPressed) forControlEvents:UIControlEventTouchUpInside];
action方法
- (void)isPressed
{
if(signIn)
{
NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:self.userNameTextField.text forKey:@"userName"];
}
}
浙公网安备 33010602011771号