퀴즈 게임을 만듭니다. 사용자가 정답을 선택하는 경우, "showLogo는"다음 질문으로 이동하기 위해 다시 호출됩니다NSUserDefaults로 데이터 저장
- (void) viewDidLoad
{
logos = [[NSMutableArray alloc] init];
[logos addObject:@"adidas"];
[logos addObject:@"nike"];
[logos addObject:@"puma"];
[self showLogo];
}
int currentQuestionIndex;
- (void) showLogo
{
currentQuestionIndex++;
NSString *question = [logos objectAtIndex:currentQuestionIndex];
[_questionImage setImage:[UIImage imageNamed:question]];
...
}
: 여기 내 코드의 일부이다. 그래서 Level이 완성됩니다.
모든 것이 효과적입니다.
정보/레벨을 저장하는 데 도움을주십시오. IF 레벨이 완료되면 사용자가 게임을 시작하면 저장된 레벨부터 시작해야합니다.
이
내가 이미 뭘하려 :- (void) checkAnswer
{
///... if user answered right
[[NSUserDefaults standardUserDefaults] setInteger:currentQuestionIndex forKey:@"currentLevel"];
[self showLogo];
/// so, I tried to save "currentQuestionIndex" forKey currentLevel, and call "showLogo"
}
을 여기에 "showLogo"
- (void) showLogo
{
int savedLevel = [[NSUserDefaults standardUserDefaults] integerForKey:@"currentLevel"];
currentQuestionIndex = savedLevel+1 ;
NSString *question = [logos objectAtIndex:currentQuestionIndex];
[_questionImage setImage:[UIImage imageNamed:question]];
...
}
수정하지만,이 방법을 사용 .. 작동하지 않습니다, 나는 점수를 저장하려고하고, 그것도 작동합니다 ..
도움말하십시오. 감사합니다
내 대답에서 코드를 시도하고 작동합니다. – tolgamorf
문제는 제 생각대로입니다. 그것은 작동하지만, 애플 리케이션을 다시 시작할 때마다 질문에 대답하지 않고도 레벨이 올라갈 때마다. :) 그래서, 내 NSUserDefaults 현재 수준을 저장합니다. 앱을 다시 실행하면 내 코드가 NSUserDefaults ++를 읽고 자동으로 다음 레벨로 이동하고 현재 레벨을 저장하고 다시 ... –