Can';t通过IOS中的变量设置NSUserDefaults值
在我的iOS应用程序中,当我登录时,我使用如下方式将UserID和loginstatus设置为Can';t通过IOS中的变量设置NSUserDefaults值,ios,nsuserdefaults,Ios,Nsuserdefaults,在我的iOS应用程序中,当我登录时,我使用如下方式将UserID和loginstatus设置为NSUserDefaults @implementation Login{ NSInteger UserId; NSUserDefaults *preferences; } - (IBAction)LogInClick:(UIButton *)sender { [preferences setInteger:UserId forKey:@"UserId"]; //UserId=40
NSUserDefaults
@implementation Login{
NSInteger UserId;
NSUserDefaults *preferences;
}
- (IBAction)LogInClick:(UIButton *)sender {
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
NSLog(@"All NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
NSString *uID = [preferences stringForKey:@"UserId"];
NSLog(@"UserID: %@",uID);
}
但NSUserDefaults中未设置这些值。我试图记录所有NSUserDefaults值和单个UserID值,但所有字段都为空
稍后我使用此代码注销
- (IBAction)LogOutClick:(UIButton *)sender {
[[NSUserDefaults standardUserDefaults] setObject:0 forKey:@"UserId"];
[[NSUserDefaults standardUserDefaults] setObject:NO forKey:@"loginstatus"];
/* [preferences setInteger:0 forKey:@"UserId"];
[preferences setBool:NO forKey:@"loginstatus"];
[preferences synchronize];*/
NSLog(@"All NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
}
首先,当我注销时,它全部设置为零,而现在值没有设置。有人能告诉我问题出在哪里吗 这是因为
NSUserDefaults*首选项代码>只是一个指针。我猜它的值是nil
。你应该初始化它。例如:
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
...
可能是一个更为合理的初始化代码> >首选项< /> >将是<代码> init >代码>方法,或是您认为适合此目的的其他内容。 这是因为<代码> NSUDER故障*首选项;<代码>只是一个指针。我猜它的值是nil
。你应该初始化它。例如:
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
...
可能是一个更为合理的初始化代码> >首选项< /> >将是<代码> init >代码>方法,或是您认为适合此目的的其他内容。 这是因为<代码> NSUDER故障*首选项;<代码>只是一个指针。我猜它的值是nil
。你应该初始化它。例如:
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
...
可能是一个更为合理的初始化代码> >首选项< /> >将是<代码> init >代码>方法,或是您认为适合此目的的其他内容。 这是因为<代码> NSUDER故障*首选项;<代码>只是一个指针。我猜它的值是nil
。你应该初始化它。例如:
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
...
可能是一个更为合理的初始化代码< >首选项< /> >将是<>代码> init <代码>方法,或者是您认为适合此目的的其他东西。 您还没有得到标准的用户默认引用。改变这个方法
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
NSLog(@"All NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
NSString *uID = [preferences stringForKey:@"UserId"];
NSLog(@"UserID: %@",uID);
}
您尚未获得标准的userdefaults引用。改变这个方法
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
NSLog(@"All NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
NSString *uID = [preferences stringForKey:@"UserId"];
NSLog(@"UserID: %@",uID);
}
您尚未获得标准的userdefaults引用。改变这个方法
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
NSLog(@"All NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
NSString *uID = [preferences stringForKey:@"UserId"];
NSLog(@"UserID: %@",uID);
}
您尚未获得标准的userdefaults引用。改变这个方法
- (IBAction)LogInClick:(UIButton *)sender {
preferences = [NSUserDefaults standardUserDefaults];
[preferences setInteger:UserId forKey:@"UserId"]; //UserId=40;
[preferences setBool:YES forKey:@"loginstatus"];
[preferences synchronize];
NSLog(@"All NSUserDefaults: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);
NSString *uID = [preferences stringForKey:@"UserId"];
NSLog(@"UserID: %@",uID);
}