대부분의 경우 작동하는 앱에 여러 개의 NSUserDefaults를 설정했습니다. NSUserDefaults는 하나의 ViewController에서 호출되고 다른 것으로 구현됩니다 (예 : 레벨 선택이있는 게임에서). 사용자가 레벨 선택 화면에서 뒤로 버튼을 누를 때까지 제대로 작동하는 것 같습니다. 그들이 레벨 select viewController로 돌아가려고하면 NSUserDefaults가 화면에로드되지 않습니다. 다음은 내 코드입니다 :앱을 떠난 후 NSUserDefaults가로드되지 않습니다.
LevelSelectViewController :
- (void)viewDidLoad
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults synchronize];
[super viewDidLoad];
}
- (void)Level1DidFinish:(Level1 *)controller
{
[self dismissModalViewControllerAnimated:YES];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSInteger rank = [userDefaults integerForKey:@"levelRank"];
{
if (rank == 1) {
button2.hidden = NO;
}
}
}
Level1ViewController :
당신은 키에 대한 값을 설정 한 후 [userDefaults 동기화] 호출 할 필요가{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setInteger:1 forKey:@"levelRank"];
}
그렇다면 viewDidLoad에 아무것도 넣지 않거나 그냥 비워 두겠습니까? –
신경 쓰지 마라, 나는 내가해야 할 일을 알아 냈다. 도와 줘서 고마워. –