NSUserDefaults,取消选中iPhone上的凭据删除

NSUserDefaults,取消选中iPhone上的凭据删除,iphone,objective-c,ios,Iphone,Objective C,Ios,我使用下面的代码来保存用户名密码,正确保存凭据,但问题是当我再次运行应用程序时,它在文本字段中显示凭据,但复选框仍然为空(我使用图像显示复选框和未选中框)。 我的问题是: 1.如果复选框处于选中或未选中状态,如何保存复选框的状态 2.如果未选中,如何从nsuserdefaults中删除凭据 - (IBAction)checkboxButton:(id)sender{ if (checkboxSelected == 0){ [checkboxButton setSelected:YES];

我使用下面的代码来保存用户名密码,正确保存凭据,但问题是当我再次运行应用程序时,它在文本字段中显示凭据,但复选框仍然为空(我使用图像显示复选框和未选中框)。 我的问题是: 1.如果复选框处于选中或未选中状态,如何保存复选框的状态 2.如果未选中,如何从nsuserdefaults中删除凭据

- (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状态没有保存