0

ゲームのデータを保存/ロードしようとしています (この場合、プレイヤーが利用できるヒントの数)。初めてゲームをプレイする場合、最初に 10 個のヒントを取得します。それ以外の場合は、最後にゲームを終了する前に持っていたヒントの数を読み込みます。私の問題は、初めてゲームを開始するときにヒントの数を 10 に設定しているのに、UILabel が 0 を表示していることです。

これらは私の保存方法と読み込み方法です:

- (void)saveSettings
{
    NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
    [settings setInteger:self.tipCount forKey:@"tipCount"];
}

- (void)loadSettings
{
    NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
    if (![settings boolForKey:@"userDefaultsSet"])
    {
        [settings setBool:1 forKey:@"userDefaultsSet"];
        [settings setInteger:10 forKey:@"tipCount"];
        self.tipCount = 10;
    } else {
        self.tipCount = [settings integerForKey:@"tipCount"];
    }    
}

そして、これが私がラベルを更新する方法です:

- (void)updateLabel
{
    Quiz* sharedQuiz = [Quiz sharedInstance];

    self.statusLabel.text = [NSString stringWithFormat:@"Tips Remaining: %d", [sharedQuiz tipCount]];
}

私を正しい方向に向けることができる助けは大歓迎です。前もって感謝します!

4

1 に答える 1

0

ここで、予防策としてあなたの質問にいくつか追加したいと思います。そうかもしれませんが、あなたはすでにその注意を払っていますが、それでも以下を参照してください.

メソッドを呼び出しているかどうかを確認します。何らかの情報を表示したいloadSetting他のメソッド (saveSettingsメソッドとメソッド) を呼び出す前に、その単一のメソッド ( ) 以外のヒント数に値を設定していないことを確認してください。これを取得しています。コードを調べた後、ユーザーにヒント数を表示する前にメソッドを適切に呼び出したかどうかにかかわらず、この単一のことを処理する必要があります。した。updateLabelloadSetting0 numberUILabelloadSettingUILabbel

これを確認できますが、必要な場所にいくつかのブレークポイントを設定し、その背後にある主な理由を確認してください。

上記のヘルプフォームを取得できるように、それがお役に立てば幸いです。

于 2013-05-19T07:31:24.637 に答える