我试图从我的数据库中获取价值并将其保存在NSUserDefault中以在页面之间创建会话。
这是我的代码:
NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0]valueForKey:@"status"];
NSUserDefaults *userStatusID=[NSUserDefaults standardUserDefaults];
[userStatusID setObject:userStatus forKey:@"status"];
[userStatusID synchronize];
这是dataDict:
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,但日志始终表示状态为空。我尝试为其他字段创建NSUserDefault,例如name和id,它运行良好。你知道我哪里做错了吗?谢谢你的帮助
解决: 抱歉我的愚蠢错误。实际上我的代码工作得很好,但我确实错误地将代码放在登录表单中,而登录后创建的字典是以home格式创建的。移动代码后,它运行良好。无论如何,感谢大家的帮助,我在尝试了所有代码之后想出来了^^爱你萌芽
答案 0 :(得分:1)
尝试替换它:
NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0]valueForKey:@"status"];
用这个:
NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0] objectForKey:@"status"];
答案 1 :(得分:1)
替换
NSString *userStatus = [[[dataDict valueForKey:@"user"]objectAtIndex:0]valueForKey:@"status"];
使用:
NSString *userStatus = dataDict[@"user"][0][@"status"];
在保存之前你可以NSLog(@"userStatus:%@", userStatus)
检查值是否正确。