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 回答