NSUserDefaults,取消选中iPhone上的凭据删除
我使用下面的代码来保存用户名密码,正确保存凭据,但问题是当我再次运行应用程序时,它在文本字段中显示凭据,但复选框仍然为空(我使用图像显示复选框和未选中框)。 我的问题是: 1.如果复选框处于选中或未选中状态,如何保存复选框的状态 2.如果未选中,如何从nsuserdefaults中删除凭据NSUserDefaults,取消选中iPhone上的凭据删除,iphone,objective-c,ios,Iphone,Objective C,Ios,我使用下面的代码来保存用户名密码,正确保存凭据,但问题是当我再次运行应用程序时,它在文本字段中显示凭据,但复选框仍然为空(我使用图像显示复选框和未选中框)。 我的问题是: 1.如果复选框处于选中或未选中状态,如何保存复选框的状态 2.如果未选中,如何从nsuserdefaults中删除凭据 - (IBAction)checkboxButton:(id)sender{ if (checkboxSelected == 0){ [checkboxButton setSelected:YES];
- (IBAction)checkboxButton:(id)sender{
if (checkboxSelected == 0){
[checkboxButton setSelected:YES];
NSString *user = [userNameField text];
NSString *passwd = [passwordField text];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:user forKey:@"Username"];
[defaults setObject:passwd forKey:@"Password"];
[defaults synchronize];
NSLog(@"Data Saved");
checkboxSelected = 1;
} else {
[checkboxButton setSelected:NO];
checkboxSelected = 0;
//Saving Username Password in file
}
}
谢谢……:) 您可以将复选框的状态保存在
NSUserDefaults
中
要阅读,请执行以下操作
BOOL isChecked = [[NSUserDefaults standardUserDefaults] boolForKey:@"loginCheckBox"];
如果未设置,它将返回NO
(false)。
要设置状态,请执行以下操作:
[[NSUserDefaults standardUserDefaults] setBool:checkboxButton.selected forKey:@"loginCheckBox"];
要从NSUserDefaults
中删除值,只需将属性设置为nil
:
[defaults setObject:nil forKey:@"Username"];
[defaults setObject:nil forKey:@"Password"];
我还可以强烈建议您将密码存储在钥匙链中。 因为
NSUserDefaults
中保存的所有数据都是纯文本存储的
您可以使用easy to更轻松地访问keychain api。您可以将复选框的状态保存在
NSUserDefaults
中
要阅读,请执行以下操作
BOOL isChecked = [[NSUserDefaults standardUserDefaults] boolForKey:@"loginCheckBox"];
如果未设置,它将返回NO
(false)。
要设置状态,请执行以下操作:
[[NSUserDefaults standardUserDefaults] setBool:checkboxButton.selected forKey:@"loginCheckBox"];
要从NSUserDefaults
中删除值,只需将属性设置为nil
:
[defaults setObject:nil forKey:@"Username"];
[defaults setObject:nil forKey:@"Password"];
我还可以强烈建议您将密码存储在钥匙链中。 因为
NSUserDefaults
中保存的所有数据都是纯文本存储的
您可以使用易于访问的密钥链api更容易。要保存复选标记状态,您必须维护一个变量,该变量必须保存并再次读取,以设置复选标记的最后状态,以及
从
NSUserDefaults中删除值。
:您可以使用:
removeObjectForKey
method要保存复选标记状态,您必须维护一个变量,该变量必须保存并再次读取,以设置复选标记的最后状态;要从NSUserDefaults
中删除值,您可以使用:
removeObjectForKey
method您可以使用NSUserDefaults的-(void)setBool:(BOOL)value-forKey:(NSString*)defaultName方法保存复选框按钮的状态。此外,对于删除凭证,您可以使用NSUserDefaults*defaults=[NSUserDefaults standardUserDefaults];[defaults removeObjectForKey:@“Password”]您可以使用NSUserDefaults的-(void)setBool:(BOOL)value forKey:(NSString*)defaultName方法保存复选框按钮的状态。此外,对于删除凭据,您可以使用NSUserDefaults*defaults=[NSUserDefaults standardUserDefaults];[defaults removeObjectForKey:@“Password”]你能为我提供任何关于钥匙链教程/示例的好链接吗,这样我就可以理解我的帖子并添加易于使用的Objective-C类来访问钥匙链了。但是checkboxbutton状态没有保存你能为我提供任何关于钥匙链教程/示例的好链接吗,这样我就可以理解我的帖子,并添加了易于使用的Objective-C类来访问密钥链。但是checkboxbutton状态没有保存