我使用下面的代码(从AppDelegate文件)将登录的Facebook用户名保存到NSUserDefaults首选项。该代码检索用户名并将其输出到控制台就好了。当我尝试在另一个视图控制器中做同样的事情时,NSLog输出返回(null)。从NSUserDefaults检索数据 - 在一个视图中工作,但在另一个视图中失败
我错过了什么?谢谢你的帮助。
- (void)request:(FBRequest *)request didLoad:(id)result {
if ([result isKindOfClass:[NSDictionary class]]) {
NSDictionary* hash = result;
NSString *username = (NSString*)[hash valueForKey:@"name"];
[[NSUserDefaults standardUserDefaults] setObject:username forKey:@"Username"];
NSLog(@"%@", username);
NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *user = [standardUserDefaults stringForKey:@"Username"];
NSLog(@"username from user defs %@",user);
}
};
下面是从其他视图控制器不工作代码:
NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *user = [standardUserDefaults stringForKey:@"Username"];
NSLog(@"username from user defs %@",user);
userNameLbl.text = user;
这里的日志输出:
username from user defs app delegate my Facebook name
2012-03-30 13:29:20.564 project V2[63339:15803] (null)
2012-03-30 13:29:20.565 project V2[63339:15803] username from user defs app delegate (null)
2012-03-30 13:29:28.620 project V2[63339:15803] username from user defs (null)
我添加#import“AppDelegate.h”到视图控制器,一切都很好。 – hanumanDev 2012-03-30 12:27:05