以下のコード(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