Ios NSSERDEAFULTS不工作

Ios NSSERDEAFULTS不工作,ios,objective-c,session,nsuserdefaults,Ios,Objective C,Session,Nsuserdefaults,我试图从我的数据库中获取值,并将其保持为NSUserDefault,以便在页面之间创建会话 这是我的密码: NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0]valueForKey:@"status"]; NSUserDefaults *userStatusID=[NSUserDefaults standardUserDefaults]; [userStatusID setObject:userStatu

我试图从我的数据库中获取值,并将其保持为NSUserDefault,以便在页面之间创建会话

这是我的密码:

NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0]valueForKey:@"status"];
NSUserDefaults *userStatusID=[NSUserDefaults standardUserDefaults];
[userStatusID setObject:userStatus forKey:@"status"];
[userStatusID synchronize];
以下是数据目录:

user =({
        "event_id" = 9;
        "job_title" = Manager;
        "last_login" = "2014-08-06 13:40:53";
        name = "********";
        id = ******;
        phone = ************;
        photo = "**********.jpeg";
        "status" = 1;
        }
以下是获取它的代码:

NSUserDefaults *userStatusID=[NSUserDefaults standardUserDefaults];
NSString *statusID = [userStatusID objectForKey:@"status"];
NSLog(@"Created status: %@",statusID);
状态只能是1或0,但日志总是说状态为空。我尝试为另一个字段(如name和id)创建NSUserDefault,效果很好。你知道我哪里做错了吗?谢谢你的帮助

已解决: 对不起,我犯了个愚蠢的错误。事实上,我的代码工作得很好,但我确实犯了一个错误,在登录后创建的字典是在home表单中,而代码是在登录表单中。在我移动代码后,它工作得很好。不管怎样,谢谢大家的帮助,我在尝试了你的所有代码后才发现^^爱你,巴德

尝试替换此代码:

NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0]valueForKey:@"status"];
为此:

NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0] objectForKey:@"status"];
替换

NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0]valueForKey:@"status"];
与:


您可以
NSLog(@“userStatus:%@”,userStatus)
在保存前检查值是否正确。

是否检查了userStatus值。尝试使用NSLog打印它并选中NSSTRING*userStatus=[[dataDict valueForKey:@“user”]objectAtIndex:0]valueForKey:@“status”];--在这里,你得到的结果是该字典中的一个字符串,还是一个数字?
NSString *userStatus = dataDict[@"user"][0][@"status"];