아래 코드 (AppDelegate 파일에서)를 사용하여 로그인 한 Facebook 사용자 이름을 NSUserDefaults 환경 설정에 저장합니다. 이 코드는 사용자 이름을 검색하여 콘솔에 출력합니다. 다른보기 컨트롤러에서 동일한 작업을 수행하려고하면 NSLog 출력이 반환됩니다 (null).NSUserDefaults에서 데이터 가져 오기 - 한보기에서 작동하지만 다른 사람에서 오류가 발생합니다.
무엇이 누락 되었습니까? 어떤 도움을 주셔서 감사합니다.
이NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];
NSString *user = [standardUserDefaults stringForKey:@"Username"];
NSLog(@"username from user defs %@",user);
userNameLbl.text = user;
여기에 로그 출력입니다 : 여기
- (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);
}
};
가 작동하지 않는 다른 뷰 컨트롤러의 코드입니다
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