zapisz i załaduj najlepszy wynik

Próbowałem użyć NSUserDefults, aby zapisać i załadować wynik (nsinteger) dla mojej gry. Utworzyłem funkcję nieważności, która sprawdza, czy wynik gry jest większy niż mój najlepszy wynik i czy przełącza się między nimi. Chcę, aby za każdym razem, gdy gra się skończy, pojawiła się etykieta, która pokazuje mój dokładny wynik. aby to zrobić, tworzę właściwość dla moich NSUsweDefults, w moim viewdidload próbowałem załadować poprawny wynik i inną funkcję (checkIfHighscore). oto moja własność NSUserDefults:

@property(readwrite) NSUserDefaults *prefs;

oto mój kod podglądu:

    NSInteger currectHighscore =  [prefs integerForKey:@"highscore"];
    highScoreLabel.text = [NSString stringWithFormat:@"%d",currectHighscore];

oto mój checkIfHighscore:

-(void)checkIfHighScore
{
    if(gameOverScore > highScore)
    {
        highScore = gameOverScore;
        [self newHighscoreAnimation];

        [prefs setInteger:highScore forKey:@"highscore"];
        [prefs synchronize];

    }
    highScoreLabel.text = [NSString stringWithFormat:@"Highscore:  %d", highScore];
}

kiedy wchodzę do tego kontrolera, mój highborelabel pokazuje 0, tak jak nie zapisuje mojego wyniku.

co robię źle? dzięki!

questionAnswers(1)

yourAnswerToTheQuestion